VICUS Library
Documentation of Vicus library
Loading...
Searching...
No Matches
VICUS::Surface Class Reference

#include <VICUS_Surface.h>

Inheritance diagram for VICUS::Surface:
[legend]

Public Member Functions

const char * typeinfo () const override
 
void initializeColorBasedOnInclination ()
 
void updateParents ()
 
VICUS_READWRITE VICUS_COMPARE_WITH_ID const IBKMK::Polygon3D & polygon3D () const
 
void setPolygon3D (const IBKMK::Polygon3D &polygon3D)
 
const std::vector< SubSurface > & subSurfaces () const
 
const std::vector< Surface > & childSurfaces () const
 
void setChildAndSubSurfaces (const std::vector< SubSurface > &subSurfaces, const std::vector< Surface > &childSurfaces)
 
const PlaneGeometrygeometry () const
 
double areaWithoutSubsurfaces () const
 
void flip ()
 
void changeOrigin (unsigned int idx)
 
- Public Member Functions inherited from VICUS::Object
 Object ()=default
 
 Object (Object const &)=default
 
virtual ~Object ()
 
ObjectfindChild (unsigned int ID)
 
const ObjectfindChild (unsigned int ID) const
 
void collectChildIDs (std::set< unsigned int > &nodeContainer) const
 
QString info () const
 

Public Attributes

QColor m_displayColor
 
QColor m_color
 
ComponentInstancem_componentInstance = nullptr
 
NANDRAD::IDVectorMap< double > m_viewFactors
 
- Public Attributes inherited from VICUS::Object
Objectm_parent = nullptr
 
unsigned int m_id = INVALID_ID
 
bool m_selected = false
 
bool m_visible = true
 
QString m_displayName
 
std::string m_ifcGUID
 

Additional Inherited Members

- Protected Attributes inherited from VICUS::Object
std::vector< Object * > m_children
 

Detailed Description

Represents a surface and its associated properties.

Member Function Documentation

◆ areaWithoutSubsurfaces()

double VICUS::Surface::areaWithoutSubsurfaces ( ) const

Subtracts the subsurface are from the surface area

◆ changeOrigin()

void VICUS::Surface::changeOrigin ( unsigned int  idx)

◆ childSurfaces()

const std::vector< Surface > & VICUS::Surface::childSurfaces ( ) const
inline

◆ flip()

void VICUS::Surface::flip ( )

Flips the normal vector of polygon. This also swaps local X and localY axes, so the x and y coordinates of our sub-surface polygons are swapped as well.

◆ geometry()

const PlaneGeometry & VICUS::Surface::geometry ( ) const
inline

Gives read-access to the surface's geometry.

◆ initializeColorBasedOnInclination()

void VICUS::Surface::initializeColorBasedOnInclination ( )

Sets default surface color based on inclination of associated plane geometry.

◆ polygon3D()

VICUS_READWRITE VICUS_COMPARE_WITH_ID const IBKMK::Polygon3D & VICUS::Surface::polygon3D ( ) const
inline

Gives read-access to the surface's main polygon.

◆ setChildAndSubSurfaces()

void VICUS::Surface::setChildAndSubSurfaces ( const std::vector< SubSurface > &  subSurfaces,
const std::vector< Surface > &  childSurfaces 
)

◆ setPolygon3D()

void VICUS::Surface::setPolygon3D ( const IBKMK::Polygon3D &  polygon3D)

Sets the polygon.

◆ subSurfaces()

const std::vector< SubSurface > & VICUS::Surface::subSurfaces ( ) const
inline

◆ typeinfo()

const char * VICUS::Surface::typeinfo ( ) const
inlineoverridevirtual

Type-info string.

Implements VICUS::Object.

◆ updateParents()

void VICUS::Surface::updateParents ( )

Member Data Documentation

◆ m_color

QColor VICUS::Surface::m_color
mutable

Color to be used when next updating the geometry. Color is set based on hightlighting/selection algorithm.

Color is not a regular property of a surface, but rather of the associated parameter elements.

◆ m_componentInstance

ComponentInstance* VICUS::Surface::m_componentInstance = nullptr

Runtime-only pointer to the associated component instance (or nullptr, if surface is not yet connected to any component. This would be considered an incomplete data model. The pointer is updated in VICUS::Project::updatePointers().

◆ m_displayColor

QColor VICUS::Surface::m_displayColor

The color to be used when rendering the surface in regular mode (not in false-color mode). Important also for daylight calculation.

◆ m_viewFactors

NANDRAD::IDVectorMap<double> VICUS::Surface::m_viewFactors

Map that stores the id of a (sub)surface and the viewFactor onto that (subSurface)


The documentation for this class was generated from the following files: