OpenStudio:model
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Related Functions | List of all members
openstudio::model::SubSurface Class Reference

#include <SubSurface.hpp>

+ Inheritance diagram for openstudio::model::SubSurface:

Public Member Functions

boost::optional
< DaylightingDeviceShelf
addDaylightingDeviceShelf () const
 Add a daylighting light shelf associated with this sub surface. More...
 
boost::optional< ShadingSurfaceaddOverhang (double depth, double offset)
 Add an overhang to the sub surface, only valid for fixed windows, operable windows, and glass doors. More...
 
boost::optional< ShadingSurfaceaddOverhangByProjectionFactor (double projectionFactor, double offsetFraction)
 Add an overhang to the sub surface, only valid for fixed windows, operable windows, and glass doors. More...
 
boost::optional< SubSurfaceadjacentSubSurface () const
 get the adjacent subsurface More...
 
boost::optional
< AirflowNetworkSurface
airflowNetworkSurface () const
 
bool allowDaylightingDeviceShelf () const
 Returns true if this sub surface allows the addition of a daylighting light shelf. More...
 
void assignDefaultSubSurfaceType ()
 Assign default sub surface type based on vertices. More...
 
boost::optional
< DaylightingDeviceShelf
daylightingDeviceShelf () const
 Get the daylighting light shelf associated with this sub surface if there is one. More...
 
AirflowNetworkSurface getAirflowNetworkSurface (const AirflowNetworkDetailedOpening &surfaceAirflowLeakage)
 
AirflowNetworkSurface getAirflowNetworkSurface (const AirflowNetworkSimpleOpening &surfaceAirflowLeakage)
 
AirflowNetworkSurface getAirflowNetworkSurface (const AirflowNetworkCrack &surfaceAirflowLeakage)
 
AirflowNetworkSurface getAirflowNetworkSurface (const AirflowNetworkEffectiveLeakageArea &surfaceAirflowLeakage)
 
AirflowNetworkSurface getAirflowNetworkSurface (const AirflowNetworkHorizontalOpening &surfaceAirflowLeakage)
 
std::string outsideBoundaryCondition () const
 Return the surface()'s outsideBoundaryCondition, or an empty string. More...
 
void resetAdjacentSubSurface ()
 reset the adjacent subsurface, will clear references on both this and adjacent sub surface More...
 
void resetSurfacePropertyOtherSideCoefficients ()
 Resets the SurfacePropertyOtherSideCoefficients. More...
 
void resetSurfacePropertyOtherSideConditionsModel ()
 Resets the SurfacePropertyOtherSideConditionsModel. More...
 
bool setAdjacentSubSurface (SubSurface &subSurface)
 set the adjacent subsurface, will fail unless both sub surfaces are parented by surfaces which are adjacent More...
 
bool setSurface (const Surface &surface)
 set the surface More...
 
bool setSurfacePropertyOtherSideCoefficients (SurfacePropertyOtherSideCoefficients &otherSideCoefficients)
 Sets the SurfacePropertyOtherSideCoefficients. More...
 
bool setSurfacePropertyOtherSideConditionsModel (SurfacePropertyOtherSideConditionsModel &otherSideModel)
 Sets the SurfacePropertyOtherSideConditionsModel. More...
 
std::vector< ShadingSurfaceGroupshadingSurfaceGroups () const
 Returns any shading surface groups associated with this sub surface. More...
 
boost::optional< Surfacesurface () const
 get the surface More...
 
boost::optional
< SurfacePropertyConvectionCoefficients
surfacePropertyConvectionCoefficients () const
 Returns the SurfacePropertyConvectionCoefficients, if it exists. More...
 
boost::optional
< SurfacePropertyOtherSideCoefficients
surfacePropertyOtherSideCoefficients () const
 Returns the adjacent SurfaceSurfacePropertyOtherSideCoefficients, if it exists. More...
 
boost::optional
< SurfacePropertyOtherSideConditionsModel
surfacePropertyOtherSideConditionsModel () const
 Returns the adjacent SurfacePropertyOtherSideConditionsModel, if it exists. More...
 
Constructors and Destructors
 SubSurface (const std::vector< Point3d > &vertices, const Model &model)
 
virtual ~SubSurface ()
 
Getters
std::string subSurfaceType () const
 
boost::optional< double > viewFactortoGround () const
 
bool isViewFactortoGroundDefaulted () const
 
bool isViewFactortoGroundAutocalculated () const
 
bool allowShadingControl () const
 
boost::optional< ShadingControlshadingControl () const
 
bool allowWindowPropertyFrameAndDivider () const
 
boost::optional
< WindowPropertyFrameAndDivider
windowPropertyFrameAndDivider () const
 
double multiplier () const
 
bool isMultiplierDefaulted () const
 
boost::optional< double > numberofVertices () const
 
bool isNumberofVerticesDefaulted () const
 
bool isNumberofVerticesAutocalculated () const
 
Setters
bool setSubSurfaceType (std::string subSurfaceType)
 
bool setViewFactortoGround (boost::optional< double > viewFactortoGround)
 
bool setViewFactortoGround (double viewFactortoGround)
 
void resetViewFactortoGround ()
 
void autocalculateViewFactortoGround ()
 
bool setShadingControl (const ShadingControl &shadingControl)
 
void resetShadingControl ()
 
bool setWindowPropertyFrameAndDivider (const WindowPropertyFrameAndDivider &windowPropertyFrameAndDivider)
 
void resetWindowPropertyFrameAndDivider ()
 
bool setMultiplier (double multiplShadingControlier)
 
void resetMultiplier ()
 
bool setNumberofVertices (boost::optional< double > numberofVertices)
 
bool setNumberofVertices (double numberofVertices)
 
void resetNumberofVertices ()
 
void autocalculateNumberofVertices ()
 
- Public Member Functions inherited from openstudio::model::PlanarSurface
double azimuth () const
 Returns the surface's azimuth measured clockwise as angle between outward normal and local North (radians). More...
 
Point3d centroid () const
 Return the centroid of this planar surface's vertices. More...
 
bool equalVertices (const PlanarSurface &other) const
 Check if this planar surface's vertices are equal to the other's in the building coordinate system. More...
 
boost::optional< double > exteriorVisibleAbsorbtance () const
 
boost::optional< double > exteriorVisibleAbsorptance () const
 Returns exterior visible absorptance (unitless), if available. More...
 
std::vector
< GeneratorPhotovoltaic
generatorPhotovoltaics () const
 Returns any generator photovoltaics associated with this surface. More...
 
double grossArea () const
 Computes the surface's gross area (m^2). More...
 
boost::optional< double > heatCapacity () const
 Returns the heat capacity of this surface in J/m^2*K, if available. More...
 
boost::optional< double > interiorVisibleAbsorbtance () const
 
boost::optional< double > interiorVisibleAbsorptance () const
 Returns interior visible absorptance (unitless), if available. More...
 
bool isAirWall () const
 Checks if this surface is an air wall, returns true if the Construction includes a single layer of type MaterialAirWall. More...
 
double netArea () const
 Computes the surface's net area (m^2). More...
 
Vector3d outwardNormal () const
 Returns the outward normal vector in local coordinates. More...
 
Plane plane () const
 Get the plane, throws openstudio::Exception if cannot compute plane for this surface. More...
 
bool reverseEqualVertices (const PlanarSurface &other) const
 Check if this planar surface's vertices are reverse equal to the other's in the building coordinate system. More...
 
bool setThermalConductance (double value)
 Sets the conductance of this surface in W/m^2*K, if possible. More...
 
bool setUFactor (double value)
 Sets the u-factor of this surface in W/m^2*K, if possible. More...
 
std::vector< ModelObjectsolarCollectors () const
 Returns any solar hot water collectors associated with this surface. More...
 
bool subtractFromGrossArea () const
 Reports if user should subtract this surface's net area from parent's gross area to compute parent's net area (e.g. More...
 
std::vector
< SurfacePropertyConvectionCoefficients
surfacePropertyConvectionCoefficients () const
 Returns any SurfacePropertyConvectionCoefficients associated with this surface, does not return SurfacePropertyConvectionCoefficientsMultipleSurface. More...
 
boost::optional< double > thermalConductance () const
 Returns the thermal conductance of this surface in W/m^2*K. More...
 
double tilt () const
 Returns the surface's tilt measured as angle between outward normal and local up (radians). More...
 
virtual std::vector
< std::vector< Point3d > > 
triangulation () const
 Get a triangulation of this surface, subsurfaces will be replaced by holes in the triangulation. More...
 
boost::optional< double > uFactor () const
 Returns the u-factor of this surface. More...
 
boost::optional< double > visibleTransmittance () const
 Returns visible transmittance (unitless), if available. More...
 
boost::optional< ConstructionBaseconstruction () const
 Returns the construction object. More...
 
boost::optional< std::pair
< ConstructionBase, int > > 
constructionWithSearchDistance () const
 Returns the construction object and the search distance that was needed to find the construction. More...
 
bool isConstructionDefaulted () const
 Returns true if the construction is not directly referenced by this surface . More...
 
boost::optional
< PlanarSurfaceGroup
planarSurfaceGroup () const
 Returns the containing PlanarSurfaceGroup if available. More...
 
boost::optional< Spacespace () const
 Returns the containing Space if available. More...
 
std::vector< Point3d > vertices () const
 Returns the vertices. More...
 
bool setVertices (const std::vector< Point3d > &vertices)
 Sets the vertices. More...
 
bool setConstruction (const ConstructionBase &construction)
 Sets the construction object. More...
 
void resetConstruction ()
 Resets the construction object. More...
 
virtual ~PlanarSurface ()
 
- Public Member Functions inherited from openstudio::model::ParentObject
std::vector< IddObjectType > allowableChildTypes () const
 Returns a vector of allowable children types. More...
 
std::vector< ModelObjectchildren () const
 Return direct child objects in the Model. More...
 
virtual ~ParentObject ()
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject ()
 
ModelObject clone () const
 Creates a deep copy of this object, placing it in this object's model(). More...
 
ModelObject clone (Model model) const
 Creates a deep copy of this object, placing it in model. More...
 
Component createComponent () const
 Method for creating sharable Model snippets. More...
 
Model model () const
 Returns the Model that contains this object. More...
 
boost::optional< ParentObjectparent () const
 Return this object's parent in the hierarchy, if it has one. More...
 
std::vector< ResourceObjectresources () const
 Get the resources directly used by this ModelObject. More...
 
template<typename T >
std::vector< T > getModelObjectSources () const
 Get all objects of type T that point to this object. More...
 
template<typename T >
std::vector< T > getModelObjectSources (IddObjectType iddObjectType) const
 Get all objects of type T that point to this object. More...
 
template<typename T >
boost::optional< T > getModelObjectTarget (unsigned index) const
 Get the object of type T pointed to by this object from field index. More...
 
template<typename T >
std::vector< T > getModelObjectTargets () const
 Get all objects of type T to which this object points. More...
 
const std::vector< std::string > & outputVariableNames () const
 Get all output variables names that could be associated with this object. More...
 
std::vector< OutputVariableoutputVariables () const
 Get all output variables associated with this object, must run simulation to generate data. More...
 
boost::optional
< openstudio::TimeSeries > 
getData (const OutputVariable &variable, const std::string &envPeriod) const
 Get data associated with this output variable and this object. More...
 
std::vector< LifeCycleCostlifeCycleCosts () const
 Returns the list of all LifeCycleCosts that refer to this object. More...
 
std::vector< IdfObject > removeLifeCycleCosts ()
 Removes all LifeCycleCosts that refer to this object. More...
 
IddObjectType iddObjectType () const
 This is a virtual function that will tell you the type of iddObject you are dealing with. More...
 
AdditionalProperties additionalProperties () const
 Returns this object's additional properties, constructing a new object if necessary. More...
 
bool hasAdditionalProperties () const
 Returns true if this object has additional properties. More...
 
std::vector< IdfObject > removeAdditionalProperties ()
 Removes all additional properties that refer to this object. More...
 
bool setParent (ParentObject &newParent)
 set the parent, child may have to call non-const methods on the parent More...
 
bool operator< (const ModelObject &right) const
 
bool operator== (const ModelObject &other) const
 equality test More...
 
bool operator!= (const ModelObject &other) const
 inequality test More...
 
std::vector< ScheduleTypeKeygetScheduleTypeKeys (const Schedule &schedule) const
 Return the ScheduleTypeKeys indicating how schedule is used in this object. More...
 
boost::optional< double > getAutosizedValue (std::string valueName, std::string unitString) const
 Gets the autosized component value from the sql file. More...
 
virtual std::vector
< EMSActuatorNames
emsActuatorNames () const
 Return the names of the available ems actuators. More...
 
virtual std::vector< std::string > emsInternalVariableNames () const
 Return the names of the available ems internal variables. More...
 
boost::optional< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 

Static Public Member Functions

Static Methods
static IddObjectType iddObjectType ()
 
static std::vector< std::string > validSubSurfaceTypeValues ()
 
- Static Public Member Functions inherited from openstudio::model::PlanarSurface
static double filmResistance (const FilmResistanceType &type)
 Film resistances from ASHRAE Fundamentals, Chapter 25, Table 1 for non-reflective surfaces. More...
 
static std::vector< PlanarSurfacefindPlanarSurfaces (const std::vector< PlanarSurface > &planarSurfaces, boost::optional< double > minDegreesFromNorth, boost::optional< double > maxDegreesFromNorth, boost::optional< double > minDegreesTilt, boost::optional< double > maxDegreesTilt, double tol=1)
 Find PlanarSurfaces within angular range, specified in degrees in the site coordinate system, an unset optional means no limit. More...
 
static double stillAirFilmResistance (double tilt)
 Film resistance of still air on surface with tilt (rad). More...
 

Related Functions

(Note that these are not member functions.)

typedef boost::optional
< SubSurface
OptionalSubSurface
 
typedef std::vector< SubSurfaceSubSurfaceVector
 

Additional Inherited Members

- Protected Types inherited from openstudio::model::ModelObject
typedef detail::ModelObject_Impl ImplType
 
- Protected Member Functions inherited from openstudio::model::PlanarSurface
 PlanarSurface (IddObjectType type, const std::vector< Point3d > &vertices, const Model &model)
 Constructs a new PlanarSurface object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ParentObject
 ParentObject (IddObjectType type, const Model &model)
 Constructs a new ParentObject object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ModelObject
 ModelObject (IddObjectType type, const Model &model, bool fastName=false)
 
 ModelObject (std::shared_ptr< detail::ModelObject_Impl > impl)
 

Detailed Description

SubSurface is a PlanarSurface that wraps the OpenStudio IDD object 'OS_SubSurface'.

Constructor & Destructor Documentation

openstudio::model::SubSurface::SubSurface ( const std::vector< Point3d > &  vertices,
const Model model 
)
explicit
virtual openstudio::model::SubSurface::~SubSurface ( )
inlinevirtual

Member Function Documentation

boost::optional<DaylightingDeviceShelf> openstudio::model::SubSurface::addDaylightingDeviceShelf ( ) const

Add a daylighting light shelf associated with this sub surface.

Only succeeds if this is a fixed window, operable window, or glass door. Will return existing daylighting light shelf if there already is one.

boost::optional<ShadingSurface> openstudio::model::SubSurface::addOverhang ( double  depth,
double  offset 
)

Add an overhang to the sub surface, only valid for fixed windows, operable windows, and glass doors.

boost::optional<ShadingSurface> openstudio::model::SubSurface::addOverhangByProjectionFactor ( double  projectionFactor,
double  offsetFraction 
)

Add an overhang to the sub surface, only valid for fixed windows, operable windows, and glass doors.

Offset is a fraction of the total window height, projection factor is based on height and offset.

boost::optional<SubSurface> openstudio::model::SubSurface::adjacentSubSurface ( ) const

get the adjacent subsurface

boost::optional<AirflowNetworkSurface> openstudio::model::SubSurface::airflowNetworkSurface ( ) const
bool openstudio::model::SubSurface::allowDaylightingDeviceShelf ( ) const

Returns true if this sub surface allows the addition of a daylighting light shelf.

bool openstudio::model::SubSurface::allowShadingControl ( ) const
bool openstudio::model::SubSurface::allowWindowPropertyFrameAndDivider ( ) const
void openstudio::model::SubSurface::assignDefaultSubSurfaceType ( )

Assign default sub surface type based on vertices.

void openstudio::model::SubSurface::autocalculateNumberofVertices ( )
void openstudio::model::SubSurface::autocalculateViewFactortoGround ( )
boost::optional<DaylightingDeviceShelf> openstudio::model::SubSurface::daylightingDeviceShelf ( ) const

Get the daylighting light shelf associated with this sub surface if there is one.

AirflowNetworkSurface openstudio::model::SubSurface::getAirflowNetworkSurface ( const AirflowNetworkDetailedOpening surfaceAirflowLeakage)
AirflowNetworkSurface openstudio::model::SubSurface::getAirflowNetworkSurface ( const AirflowNetworkSimpleOpening surfaceAirflowLeakage)
AirflowNetworkSurface openstudio::model::SubSurface::getAirflowNetworkSurface ( const AirflowNetworkCrack surfaceAirflowLeakage)
AirflowNetworkSurface openstudio::model::SubSurface::getAirflowNetworkSurface ( const AirflowNetworkEffectiveLeakageArea surfaceAirflowLeakage)
AirflowNetworkSurface openstudio::model::SubSurface::getAirflowNetworkSurface ( const AirflowNetworkHorizontalOpening surfaceAirflowLeakage)
static IddObjectType openstudio::model::SubSurface::iddObjectType ( )
static
bool openstudio::model::SubSurface::isMultiplierDefaulted ( ) const
bool openstudio::model::SubSurface::isNumberofVerticesAutocalculated ( ) const
bool openstudio::model::SubSurface::isNumberofVerticesDefaulted ( ) const
bool openstudio::model::SubSurface::isViewFactortoGroundAutocalculated ( ) const
bool openstudio::model::SubSurface::isViewFactortoGroundDefaulted ( ) const
double openstudio::model::SubSurface::multiplier ( ) const
boost::optional<double> openstudio::model::SubSurface::numberofVertices ( ) const
std::string openstudio::model::SubSurface::outsideBoundaryCondition ( ) const

Return the surface()'s outsideBoundaryCondition, or an empty string.

void openstudio::model::SubSurface::resetAdjacentSubSurface ( )

reset the adjacent subsurface, will clear references on both this and adjacent sub surface

void openstudio::model::SubSurface::resetMultiplier ( )
void openstudio::model::SubSurface::resetNumberofVertices ( )
void openstudio::model::SubSurface::resetShadingControl ( )
void openstudio::model::SubSurface::resetSurfacePropertyOtherSideCoefficients ( )
void openstudio::model::SubSurface::resetSurfacePropertyOtherSideConditionsModel ( )
void openstudio::model::SubSurface::resetViewFactortoGround ( )
void openstudio::model::SubSurface::resetWindowPropertyFrameAndDivider ( )
bool openstudio::model::SubSurface::setAdjacentSubSurface ( SubSurface subSurface)

set the adjacent subsurface, will fail unless both sub surfaces are parented by surfaces which are adjacent

bool openstudio::model::SubSurface::setMultiplier ( double  multiplShadingControlier)
bool openstudio::model::SubSurface::setNumberofVertices ( boost::optional< double >  numberofVertices)
bool openstudio::model::SubSurface::setNumberofVertices ( double  numberofVertices)
bool openstudio::model::SubSurface::setShadingControl ( const ShadingControl shadingControl)
bool openstudio::model::SubSurface::setSubSurfaceType ( std::string  subSurfaceType)
bool openstudio::model::SubSurface::setSurface ( const Surface surface)

set the surface

bool openstudio::model::SubSurface::setSurfacePropertyOtherSideCoefficients ( SurfacePropertyOtherSideCoefficients otherSideCoefficients)
bool openstudio::model::SubSurface::setSurfacePropertyOtherSideConditionsModel ( SurfacePropertyOtherSideConditionsModel otherSideModel)
bool openstudio::model::SubSurface::setViewFactortoGround ( boost::optional< double >  viewFactortoGround)
bool openstudio::model::SubSurface::setViewFactortoGround ( double  viewFactortoGround)
bool openstudio::model::SubSurface::setWindowPropertyFrameAndDivider ( const WindowPropertyFrameAndDivider windowPropertyFrameAndDivider)
boost::optional<ShadingControl> openstudio::model::SubSurface::shadingControl ( ) const
std::vector<ShadingSurfaceGroup> openstudio::model::SubSurface::shadingSurfaceGroups ( ) const

Returns any shading surface groups associated with this sub surface.

std::string openstudio::model::SubSurface::subSurfaceType ( ) const
boost::optional<Surface> openstudio::model::SubSurface::surface ( ) const

get the surface

boost::optional<SurfacePropertyConvectionCoefficients> openstudio::model::SubSurface::surfacePropertyConvectionCoefficients ( ) const

Returns the SurfacePropertyConvectionCoefficients, if it exists.

boost::optional<SurfacePropertyOtherSideCoefficients> openstudio::model::SubSurface::surfacePropertyOtherSideCoefficients ( ) const

Returns the adjacent SurfaceSurfacePropertyOtherSideCoefficients, if it exists.

boost::optional<SurfacePropertyOtherSideConditionsModel> openstudio::model::SubSurface::surfacePropertyOtherSideConditionsModel ( ) const

Returns the adjacent SurfacePropertyOtherSideConditionsModel, if it exists.

static std::vector<std::string> openstudio::model::SubSurface::validSubSurfaceTypeValues ( )
static
boost::optional<double> openstudio::model::SubSurface::viewFactortoGround ( ) const
boost::optional<WindowPropertyFrameAndDivider> openstudio::model::SubSurface::windowPropertyFrameAndDivider ( ) const

Friends And Related Function Documentation

typedef boost::optional<SubSurface> OptionalSubSurface
related
typedef std::vector<SubSurface> SubSurfaceVector
related