本文整理汇总了C++中WorkspaceObject::getString方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkspaceObject::getString方法的具体用法?C++ WorkspaceObject::getString怎么用?C++ WorkspaceObject::getString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkspaceObject
的用法示例。
在下文中一共展示了WorkspaceObject::getString方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: curve
boost::optional<ModelObject> ReverseTranslator::translateCurveExponent(
const WorkspaceObject& workspaceObject )
{
CurveExponent curve(m_model);
OptionalString s;
OptionalDouble d;
if ((s = workspaceObject.name())) {
curve.setName(*s);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::Coefficient1Constant))) {
curve.setCoefficient1Constant(*d);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::Coefficient2Constant))) {
curve.setCoefficient2Constant(*d);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::Coefficient3Constant))) {
curve.setCoefficient3Constant(*d);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::MinimumValueofx))) {
curve.setMinimumValueofx(*d);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::MaximumValueofx))) {
curve.setMaximumValueofx(*d);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::MinimumCurveOutput))) {
curve.setMinimumCurveOutput(*d);
}
if ((d = workspaceObject.getDouble(Curve_ExponentFields::MaximumCurveOutput))) {
curve.setMaximumCurveOutput(*d);
}
if ((s = workspaceObject.getString(Curve_ExponentFields::InputUnitTypeforX,false,true))) {
curve.setInputUnitTypeforX(*s);
}
if ((s = workspaceObject.getString(Curve_ExponentFields::OutputUnitType,false,true))) {
curve.setOutputUnitType(*s);
}
return curve;
}
示例2: curve
boost::optional<ModelObject> ReverseTranslator::translateCurveRectangularHyperbola1(
const WorkspaceObject& workspaceObject )
{
CurveRectangularHyperbola1 curve(m_model);
OptionalString s;
OptionalDouble d;
if ((s = workspaceObject.name())) {
curve.setName(*s);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::Coefficient1C1))) {
curve.setCoefficient1C1(*d);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::Coefficient2C2))) {
curve.setCoefficient2C2(*d);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::Coefficient3C3))) {
curve.setCoefficient3C3(*d);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::MinimumValueofx))) {
curve.setMinimumValueofx(*d);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::MaximumValueofx))) {
curve.setMaximumValueofx(*d);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::MinimumCurveOutput))) {
curve.setMinimumCurveOutput(*d);
}
if ((d = workspaceObject.getDouble(Curve_RectangularHyperbola1Fields::MaximumCurveOutput))) {
curve.setMaximumCurveOutput(*d);
}
if ((s = workspaceObject.getString(Curve_RectangularHyperbola1Fields::InputUnitTypeforx,false,true))) {
curve.setInputUnitTypeforx(*s);
}
if ((s = workspaceObject.getString(Curve_RectangularHyperbola1Fields::OutputUnitType,false,true))) {
curve.setOutputUnitType(*s);
}
return curve;
}
示例3:
TEST_F(EnergyPlusFixture, ForwardTranslator_ExternalInterface) {
Model model;
ExternalInterface externalinterface = model.getUniqueModelObject<ExternalInterface>();
EXPECT_EQ("PtolemyServer", externalinterface.nameofExternalInterface());
EXPECT_TRUE(externalinterface.setNameofExternalInterface("FunctionalMockupUnitImport"));
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ExternalInterface).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ExternalInterface)[0];
ASSERT_TRUE(object.getString(ExternalInterfaceFields::NameofExternalInterface, false));
EXPECT_EQ("FunctionalMockupUnitImport", object.getString(ExternalInterfaceFields::NameofExternalInterface, false).get());
model.save(toPath("./ExternalInterface.osm"), true);
workspace.save(toPath("./ExternalInterface.idf"), true);
}
示例4: variable
TEST_F(EnergyPlusFixture, ForwardTranslator_ExternalInterfaceVariable) {
Model model;
ExternalInterfaceVariable variable(model, "test name", 10);
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ExternalInterface_Variable).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ExternalInterface_Variable)[0];
ASSERT_TRUE(object.getString(ExternalInterface_VariableFields::Name, false));
EXPECT_EQ("test name", object.getString(ExternalInterface_VariableFields::Name, false).get());
ASSERT_TRUE(object.getDouble(ExternalInterface_VariableFields::InitialValue, false));
EXPECT_EQ(10.0, object.getDouble(ExternalInterface_VariableFields::InitialValue, false).get());
model.save(toPath("./ExternalInterfaceVariable.osm"), true);
workspace.save(toPath("./ExternalInterfaceVariable.idf"), true);
}
示例5: translateOutputMeterMeterFileOnly
OptionalModelObject ReverseTranslator::translateOutputMeterMeterFileOnly( const WorkspaceObject & workspaceObject )
{
openstudio::model::Meter meter( m_model );
OptionalString s = workspaceObject.getString(Output_Meter_MeterFileOnlyFields::Name);
if(s){
meter.setName(*s);
}
s = workspaceObject.getString(Output_Meter_MeterFileOnlyFields::ReportingFrequency);
if(s){
meter.setReportingFrequency(*s);
}
meter.setMeterFileOnly(true);
meter.setCumulative(false);
return meter;
}
示例6: workspace
TEST_F(EnergyPlusFixture,ReverseTranslatorTest_TranslateScheduleCompact) {
openstudio::Workspace workspace(openstudio::StrictnessLevel::None,openstudio::IddFileType::EnergyPlus);
openstudio::IdfObject idfObject( openstudio::IddObjectType::Schedule_Compact );
idfObject.setString(1,"Fraction");
idfObject.setString(2,"Through: 12/31");
idfObject.setString(3,"For: Weekdays SummerDesignDay");
idfObject.setString(4,"Until: 08:00");
idfObject.setString(5,"0.0");
idfObject.setString(6,"Until: 18:00");
idfObject.setString(7,"1.0");
idfObject.setString(8,"Until: 24:00");
idfObject.setString(9,"0.0");
idfObject.setString(10,"For: Weekends WinterDesignDay");
idfObject.setString(11,"Until: 10:00");
idfObject.setString(12,"0.0");
idfObject.setString(13,"Until: 16:00");
idfObject.setString(14,"1.0");
idfObject.setString(15,"Until: 24:00");
idfObject.setString(16,"0.0");
idfObject.setString(17,"For: Holidays AllOtherDays");
idfObject.setString(18,"Until: 24:00");
idfObject.setString(19,"0.0");
WorkspaceObject epScheduleCompact = workspace.addObject(idfObject).get();
ReverseTranslator trans;
ASSERT_NO_THROW(trans.translateWorkspace(workspace));
Model model = trans.translateWorkspace(workspace);
ASSERT_EQ(static_cast<unsigned>(1), model.getModelObjects<openstudio::model::ScheduleCompact>().size());
openstudio::model::ScheduleCompact scheduleCompact = model.getModelObjects<openstudio::model::ScheduleCompact>()[0];
EXPECT_EQ(unsigned(20),epScheduleCompact.numFields());
EXPECT_EQ(unsigned(21),scheduleCompact.numFields()); // has handle field
ASSERT_EQ(epScheduleCompact.numFields() + 1u,scheduleCompact.numFields());
ASSERT_TRUE(epScheduleCompact.name());
ASSERT_TRUE(scheduleCompact.name());
EXPECT_EQ(epScheduleCompact.name().get(),scheduleCompact.name().get());
for( unsigned i = 1; i < epScheduleCompact.numFields(); i++ )
{
boost::optional<std::string> s1 = epScheduleCompact.getString(i);
boost::optional<std::string> s2 = scheduleCompact.getString(i+1);
ASSERT_TRUE(s1);
ASSERT_TRUE(s2);
EXPECT_EQ(s1.get(),s2.get());
}
}
示例7: translateOutputEnergyManagementSystem
OptionalModelObject ReverseTranslator::translateOutputEnergyManagementSystem(const WorkspaceObject & workspaceObject)
{
openstudio::model::OutputEnergyManagementSystem outputEMS = m_model.getUniqueModelObject<openstudio::model::OutputEnergyManagementSystem>();
OptionalString s = workspaceObject.getString(Output_EnergyManagementSystemFields::ActuatorAvailabilityDictionaryReporting);
if(s) {
outputEMS.setActuatorAvailabilityDictionaryReporting(*s);
}
s = workspaceObject.getString(Output_EnergyManagementSystemFields::InternalVariableAvailabilityDictionaryReporting);
if (s) {
outputEMS.setInternalVariableAvailabilityDictionaryReporting(*s);
}
s = workspaceObject.getString(Output_EnergyManagementSystemFields::EMSRuntimeLanguageDebugOutputLevel);
if (s) {
outputEMS.setEMSRuntimeLanguageDebugOutputLevel(*s);
}
return outputEMS;
}
示例8: translateRunPeriodControlDaylightSavingTime
OptionalModelObject ReverseTranslator::translateRunPeriodControlDaylightSavingTime( const WorkspaceObject & workspaceObject )
{
if( workspaceObject.iddObject().type() != IddObjectType::RunPeriodControl_DaylightSavingTime )
{
LOG(Error, "WorkspaceObject is not IddObjectType: RunPeriodControl_DaylightSavingTime");
return boost::none;
}
RunPeriodControlDaylightSavingTime dst = m_model.getUniqueModelObject<RunPeriodControlDaylightSavingTime>();
OptionalString s = workspaceObject.getString(RunPeriodControl_DaylightSavingTimeFields::StartDate);
if(s){
dst.setStartDate(*s);
}
s = workspaceObject.getString(RunPeriodControl_DaylightSavingTimeFields::EndDate);
if(s) {
dst.setEndDate(*s);
}
return dst;
}
开发者ID:CheyenneBerlin,项目名称:OpenStudio,代码行数:22,代码来源:ReverseTranslateRunPeriodControlDaylightSavingTime.cpp
示例9: workspace
TEST_F(IdfFixture, WorkspaceObject_Building) {
Workspace workspace(epIdfFile, StrictnessLevel::Draft);
WorkspaceObjectVector buildings = workspace.getObjectsByType(IddObjectType::Building);
ASSERT_EQ(static_cast<size_t>(1), buildings.size());
WorkspaceObject building = buildings[0];
/*
Building,
Building, !- Name
30., !- North Axis {deg}
City, !- Terrain
0.04, !- Loads Convergence Tolerance Value
0.4, !- Temperature Convergence Tolerance Value {deltaC}
FullExterior, !- Solar Distribution
25; !- Maximum Number of Warmup Days
*/
OptionalString buildingName = building.getString(BuildingFields::Name);
ASSERT_TRUE(buildingName);
EXPECT_EQ("Building", *buildingName);
OptionalString northAxisString = building.getString(BuildingFields::NorthAxis);
ASSERT_TRUE(northAxisString);
EXPECT_EQ("30.", *northAxisString);
OptionalDouble northAxis = building.getDouble(BuildingFields::NorthAxis);
ASSERT_TRUE(northAxis);
EXPECT_DOUBLE_EQ(30.0, *northAxis);
OptionalString terrain = building.getString(BuildingFields::Terrain);
ASSERT_TRUE(terrain);
EXPECT_EQ("City", *terrain);
OptionalUnsigned maximumNumberofWarmupDays = building.getUnsigned(BuildingFields::MaximumNumberofWarmupDays);
ASSERT_TRUE(maximumNumberofWarmupDays);
EXPECT_EQ(static_cast<unsigned>(25), *maximumNumberofWarmupDays);
}
示例10: translateOutputVariable
OptionalModelObject ReverseTranslator::translateOutputVariable( const WorkspaceObject & workspaceObject )
{
OptionalString s = workspaceObject.getString(Output_VariableFields::VariableName);
if(!s){
return boost::none;
}
openstudio::model::OutputVariable outputVariable( *s, m_model );
s = workspaceObject.getString(Output_VariableFields::KeyValue);
if(s){
outputVariable.setKeyValue(*s);
}
s = workspaceObject.getString(Output_VariableFields::VariableName);
if(s){
outputVariable.setVariableName(*s);
}
s = workspaceObject.getString(Output_VariableFields::ReportingFrequency);
if(s){
outputVariable.setReportingFrequency(*s);
}
OptionalWorkspaceObject target = workspaceObject.getTarget(Output_VariableFields::ScheduleName);
if (target){
OptionalModelObject modelObject = translateAndMapWorkspaceObject( *target );
if (modelObject){
OptionalSchedule schedule = modelObject->optionalCast<Schedule>();
if (schedule){
outputVariable.setSchedule(*schedule);
}
}
}
return outputVariable;
}
示例11: eifmui
TEST_F(EnergyPlusFixture, ForwardTranslator_ExternalInterfaceFunctionalMockupUnitImport) {
Model model;
ExternalInterfaceFunctionalMockupUnitImport eifmui(model, "c:\\Program Files\\Test\\blah.fmu");
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ExternalInterface_FunctionalMockupUnitImport).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ExternalInterface_FunctionalMockupUnitImport)[0];
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitImportFields::FMUFileName, false));
EXPECT_EQ("c:\\Program Files\\Test\\blah.fmu", object.getString(ExternalInterface_FunctionalMockupUnitImportFields::FMUFileName, false).get());
ASSERT_TRUE(object.getDouble(ExternalInterface_FunctionalMockupUnitImportFields::FMUTimeout, false));
EXPECT_EQ(0, object.getDouble(ExternalInterface_FunctionalMockupUnitImportFields::FMUTimeout, false).get());
ASSERT_TRUE(object.getDouble(ExternalInterface_FunctionalMockupUnitImportFields::FMULoggingOn, false));
EXPECT_EQ(0, object.getDouble(ExternalInterface_FunctionalMockupUnitImportFields::FMULoggingOn, false).get());
model.save(toPath("./ExternalInterfaceFunctionalMockupUnitImport.osm"), true);
workspace.save(toPath("./ExternalInterfaceFunctionalMockupUnitImport.idf"), true);
}
示例12: fan
TEST_F(EnergyPlusFixture, ForwardTranslator_ExternalInterfaceFunctionalMockupUnitExportToActuator) {
Model model;
Building building = model.getUniqueModelObject<Building>();
// add fan
Schedule s = model.alwaysOnDiscreteSchedule();
FanConstantVolume fan(model, s);
// add actuator
std::string fanControlType = "Fan Pressure Rise";
std::string ComponentType = "Fan";
ExternalInterfaceFunctionalMockupUnitExportToActuator fanActuator(fan, ComponentType, fanControlType, "Fan FMU name", 10);
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ExternalInterface_FunctionalMockupUnitExport_To_Actuator).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ExternalInterface_FunctionalMockupUnitExport_To_Actuator)[0];
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::Name, false));
EXPECT_EQ("External Interface Functional Mockup Unit Export To Actuator 1", object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::Name, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::ActuatedComponentUniqueName, false));
EXPECT_EQ(fan.nameString(), object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::ActuatedComponentUniqueName, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::ActuatedComponentType, false));
EXPECT_EQ(ComponentType, object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::ActuatedComponentType, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::ActuatedComponentControlType, false));
EXPECT_EQ(fanControlType, object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::ActuatedComponentControlType, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::FMUVariableName, false));
EXPECT_EQ("Fan FMU name", object.getString(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::FMUVariableName, false).get());
ASSERT_TRUE(object.getDouble(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::InitialValue, false));
EXPECT_EQ(10.0, object.getDouble(ExternalInterface_FunctionalMockupUnitExport_To_ActuatorFields::InitialValue, false).get());
model.save(toPath("./ExternalInterfaceFunctionalMockupUnitExportToActuator.osm"), true);
workspace.save(toPath("./ExternalInterfaceFunctionalMockupUnitExportToActuator.idf"), true);
}
示例13:
TEST_F(EnergyPlusFixture,ForwardTranslator_Building)
{
Model model;
Building building = model.getUniqueModelObject<Building>();
building.setName("Building");
EXPECT_TRUE(building.isNorthAxisDefaulted());
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Building).size());
ASSERT_EQ(0u, workspace.getObjectsByType(IddObjectType::Site_Location).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::SimulationControl).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::Building)[0];
ASSERT_TRUE(object.getString(BuildingFields::Name));
EXPECT_EQ("Building", object.getString(BuildingFields::Name).get());
EXPECT_TRUE(object.isEmpty(BuildingFields::NorthAxis));
EXPECT_TRUE(object.isEmpty(BuildingFields::Terrain));
EXPECT_TRUE(object.isEmpty(BuildingFields::LoadsConvergenceToleranceValue));
EXPECT_TRUE(object.isEmpty(BuildingFields::TemperatureConvergenceToleranceValue));
EXPECT_TRUE(object.isEmpty(BuildingFields::SolarDistribution));
EXPECT_TRUE(object.isEmpty(BuildingFields::MaximumNumberofWarmupDays));
}
示例14: translateZoneAirHeatBalanceAlgorithm
OptionalModelObject ReverseTranslator::translateZoneAirHeatBalanceAlgorithm( const WorkspaceObject & workspaceObject )
{
if( workspaceObject.iddObject().type() != IddObjectType::ZoneAirHeatBalanceAlgorithm )
{
LOG(Error, "WorkspaceObject is not IddObjectType: ZoneAirHeatBalanceAlgorithm");
return boost::none;
}
ZoneAirHeatBalanceAlgorithm mo = m_model.getUniqueModelObject<ZoneAirHeatBalanceAlgorithm>();
boost::optional<std::string> s = workspaceObject.getString(ZoneAirHeatBalanceAlgorithmFields::Algorithm);
if( s )
{
mo.setString(OS_ZoneAirHeatBalanceAlgorithmFields::Algorithm,s.get());
}
return mo;
}
示例15: LOG
boost::optional<ModelObject> ReverseTranslator::translateSurfaceConvectionAlgorithmInside(
const WorkspaceObject & workspaceObject)
{
if( workspaceObject.iddObject().type() != IddObjectType::SurfaceConvectionAlgorithm_Inside )
{
LOG(Error, "WorkspaceObject is not IddObjectType: SurfaceConvectionAlgorithm_Inside");
return boost::none;
}
InsideSurfaceConvectionAlgorithm mo = m_model.getUniqueModelObject<InsideSurfaceConvectionAlgorithm>();
if(OptionalString s = workspaceObject.getString(SurfaceConvectionAlgorithm_InsideFields::Algorithm))
{
mo.setAlgorithm(s.get());
}
return mo;
}
开发者ID:MatthewSteen,项目名称:OpenStudio,代码行数:18,代码来源:ReverseTranslateSurfaceConvectionAlgorithmInside.cpp