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

#include <PlanarSurface.hpp>

+ Inheritance diagram for openstudio::model::PlanarSurface:

Public Member Functions

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 > 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
 
boost::optional< double > interiorVisibleAbsorptance () const
 
bool isAirWall () const
 Checks if this surface is an air wall, returns true if it's a ConstructionAirBoundary. 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)
 
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
 
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
 
boost::optional< double > visibleTransmittance () const
 Returns visible transmittance (unitless), if available. More...
 
Getters
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...
 
Setters
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...
 
- 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...
 
boost::optional< std::string > cadObjectId () const
 
bool setCADObjectId (const std::string &cadObjectId)
 
boost::optional< std::string > gbXMLId () const
 
bool setGBXMLId (const std::string &gbXMLId)
 
boost::optional< std::string > displayName () const
 
bool setDisplayName (const std::string &displayName)
 
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 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
< PlanarSurface
OptionalPlanarSurface
 
typedef std::vector
< PlanarSurface
PlanarSurfaceVector
 

Constructors and Destructors

virtual ~PlanarSurface ()
 
 PlanarSurface (IddObjectType type, const std::vector< Point3d > &vertices, const Model &model)
 Constructs a new PlanarSurface object in the model. More...
 

Additional Inherited Members

- Protected Types inherited from openstudio::model::ModelObject
typedef detail::ModelObject_Impl ImplType
 
- 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

PlanarSurface is an abstract class derived from ParentObject.

PlanarSurface is a pure virtual class to consolodate functions dealing with surface geometry.

Todo:
There is too much functionality in this class that is not common to all derived classes. These members need to be factored out of PlanarSurface.

Constructor & Destructor Documentation

virtual openstudio::model::PlanarSurface::~PlanarSurface ( )
inlinevirtual
openstudio::model::PlanarSurface::PlanarSurface ( IddObjectType  type,
const std::vector< Point3d > &  vertices,
const Model model 
)
protected

Constructs a new PlanarSurface object in the model.

Member Function Documentation

double openstudio::model::PlanarSurface::azimuth ( ) const

Returns the surface's azimuth measured clockwise as angle between outward normal and local North (radians).

Throws openstudio::Exception if cannot compute outward normal for this surface.

Point3d openstudio::model::PlanarSurface::centroid ( ) const

Return the centroid of this planar surface's vertices.

boost::optional<ConstructionBase> openstudio::model::PlanarSurface::construction ( ) const

Returns the construction object.

If the planar surface is paired with an adjacent planar surface, attempts to resolve any surface matching conflict.

boost::optional<std::pair<ConstructionBase, int> > openstudio::model::PlanarSurface::constructionWithSearchDistance ( ) const

Returns the construction object and the search distance that was needed to find the construction.

Does not consider adjacent planar surfaces.

bool openstudio::model::PlanarSurface::equalVertices ( const PlanarSurface other) const

Check if this planar surface's vertices are equal to the other's in the building coordinate system.

boost::optional<double> openstudio::model::PlanarSurface::exteriorVisibleAbsorptance ( ) const

Returns exterior visible absorptance (unitless), if available.

static double openstudio::model::PlanarSurface::filmResistance ( const FilmResistanceType type)
static

Film resistances from ASHRAE Fundamentals, Chapter 25, Table 1 for non-reflective surfaces.

Units of m^2*K/W.

static std::vector<PlanarSurface> openstudio::model::PlanarSurface::findPlanarSurfaces ( const std::vector< PlanarSurface > &  planarSurfaces,
boost::optional< double >  minDegreesFromNorth,
boost::optional< double >  maxDegreesFromNorth,
boost::optional< double >  minDegreesTilt,
boost::optional< double >  maxDegreesTilt,
double  tol = 1 
)
static

Find PlanarSurfaces within angular range, specified in degrees in the site coordinate system, an unset optional means no limit.

Values for degrees from North are between 0 and 360 and for degrees tilt they are between 0 and 180. Note that maxDegreesFromNorth may be less than minDegreesFromNorth, e.g. to search between NorthWest and NorthEast set minDegreesFromNorth = 315 and maxDegreesFromNorth = 45. The value of maxDegreesTilt must be greater than or equal to minDegreesTilt. A tolerance of one degree is applied by default.

std::vector<GeneratorPhotovoltaic> openstudio::model::PlanarSurface::generatorPhotovoltaics ( ) const

Returns any generator photovoltaics associated with this surface.

double openstudio::model::PlanarSurface::grossArea ( ) const

Computes the surface's gross area (m^2).

boost::optional<double> openstudio::model::PlanarSurface::heatCapacity ( ) const
boost::optional<double> openstudio::model::PlanarSurface::interiorVisibleAbsorptance ( ) const
bool openstudio::model::PlanarSurface::isAirWall ( ) const

Checks if this surface is an air wall, returns true if it's a ConstructionAirBoundary.

bool openstudio::model::PlanarSurface::isConstructionDefaulted ( ) const

Returns true if the construction is not directly referenced by this surface .

double openstudio::model::PlanarSurface::netArea ( ) const

Computes the surface's net area (m^2).

Vector3d openstudio::model::PlanarSurface::outwardNormal ( ) const

Returns the outward normal vector in local coordinates.

Throws openstudio::Exception if cannot compute outward normal for this surface.

boost::optional<PlanarSurfaceGroup> openstudio::model::PlanarSurface::planarSurfaceGroup ( ) const

Returns the containing PlanarSurfaceGroup if available.

Plane openstudio::model::PlanarSurface::plane ( ) const

Get the plane, throws openstudio::Exception if cannot compute plane for this surface.

void openstudio::model::PlanarSurface::resetConstruction ( )

Resets the construction object.

bool openstudio::model::PlanarSurface::reverseEqualVertices ( const PlanarSurface other) const

Check if this planar surface's vertices are reverse equal to the other's in the building coordinate system.

bool openstudio::model::PlanarSurface::setConstruction ( const ConstructionBase construction)

Sets the construction object.

bool openstudio::model::PlanarSurface::setThermalConductance ( double  value)
bool openstudio::model::PlanarSurface::setUFactor ( double  value)

Sets the u-factor of this surface in W/m^2*K, if possible.

Value should already include appropriate standard film coefficients, assuming still air indoors and 15 mph outdoor air speed. Does not consider any custom SurfacePropertyConvectionCoefficients

bool openstudio::model::PlanarSurface::setVertices ( const std::vector< Point3d > &  vertices)

Sets the vertices.

std::vector<ModelObject> openstudio::model::PlanarSurface::solarCollectors ( ) const

Returns any solar hot water collectors associated with this surface.

boost::optional<Space> openstudio::model::PlanarSurface::space ( ) const

Returns the containing Space if available.

static double openstudio::model::PlanarSurface::stillAirFilmResistance ( double  tilt)
static

Film resistance of still air on surface with tilt (rad).

Horizontal roof has tilt of 0 rad; horizontal floor/slab has tilt of pi rad.

bool openstudio::model::PlanarSurface::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.

true for a window).

std::vector<SurfacePropertyConvectionCoefficients> openstudio::model::PlanarSurface::surfacePropertyConvectionCoefficients ( ) const

Returns any SurfacePropertyConvectionCoefficients associated with this surface, does not return SurfacePropertyConvectionCoefficientsMultipleSurface.

boost::optional<double> openstudio::model::PlanarSurface::thermalConductance ( ) const
double openstudio::model::PlanarSurface::tilt ( ) const

Returns the surface's tilt measured as angle between outward normal and local up (radians).

Throws openstudio::Exception if cannot compute outward normal for this surface.

virtual std::vector<std::vector<Point3d> > openstudio::model::PlanarSurface::triangulation ( ) const
virtual

Get a triangulation of this surface, subsurfaces will be replaced by holes in the triangulation.

boost::optional<double> openstudio::model::PlanarSurface::uFactor ( ) const
std::vector<Point3d> openstudio::model::PlanarSurface::vertices ( ) const

Returns the vertices.

boost::optional<double> openstudio::model::PlanarSurface::visibleTransmittance ( ) const

Returns visible transmittance (unitless), if available.

May require EnergyPlus simulation output.

Friends And Related Function Documentation

typedef boost::optional<PlanarSurface> OptionalPlanarSurface
related
typedef std::vector<PlanarSurface> PlanarSurfaceVector
related