OpenStudio:utilities
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Public Types | Public Member Functions | Public Attributes | Friends | List of all members
openstudio::Chain Class Reference

#include <RoofGeometry_Details.hpp>

Classes

struct  Comparer
 

Public Types

enum  ChainMode { MODE_EDGE = 0, MODE_SPLIT = 1, MODE_CLOSED_EDGE = 2 }
 
enum  ChainType { TYPE_EDGE = 0, TYPE_SPLIT = 1, TYPE_SINGLE_EDGE = 2 }
 

Public Member Functions

 Chain ()
 
 Chain (std::shared_ptr< QueueEvent > t_splitEvent)
 
 Chain (std::vector< std::shared_ptr< QueueEvent >> &t_edgeList, std::vector< std::vector< std::shared_ptr< Vertex >>> &sLav)
 
 Chain (std::shared_ptr< Edge > t_oppositeEdge, std::shared_ptr< Vertex > t_nextVertex, std::vector< std::vector< std::shared_ptr< Vertex >>> &sLav)
 
ChainMode getChainMode () const
 
std::shared_ptr< VertexgetCurrentVertex () const
 
std::shared_ptr< EdgegetNextEdge () const
 
std::shared_ptr< VertexgetNextVertex (std::vector< std::vector< std::shared_ptr< Vertex >>> &sLav) const
 
std::shared_ptr< EdgegetOppositeEdge () const
 
std::shared_ptr< EdgegetPreviousEdge () const
 
std::shared_ptr< VertexgetPreviousVertex (std::vector< std::vector< std::shared_ptr< Vertex >>> &sLav) const
 
bool operator== (const Chain &other) const
 

Public Attributes

ChainType chainType
 
bool closed = false
 
std::vector< std::shared_ptr
< QueueEvent > > 
edgeList
 
bool split = false
 
std::shared_ptr< QueueEventsplitEvent
 

Friends

std::ostream & operator<< (std::ostream &os, const Chain &c)
 

Member Enumeration Documentation

Enumerator
MODE_EDGE 
MODE_SPLIT 
MODE_CLOSED_EDGE 
Enumerator
TYPE_EDGE 
TYPE_SPLIT 
TYPE_SINGLE_EDGE 

Constructor & Destructor Documentation

openstudio::Chain::Chain ( )
inline
openstudio::Chain::Chain ( std::shared_ptr< QueueEvent t_splitEvent)
inline
openstudio::Chain::Chain ( std::vector< std::shared_ptr< QueueEvent >> &  t_edgeList,
std::vector< std::vector< std::shared_ptr< Vertex >>> &  sLav 
)
inline
openstudio::Chain::Chain ( std::shared_ptr< Edge t_oppositeEdge,
std::shared_ptr< Vertex t_nextVertex,
std::vector< std::vector< std::shared_ptr< Vertex >>> &  sLav 
)
inline

Member Function Documentation

ChainMode openstudio::Chain::getChainMode ( ) const
inline
std::shared_ptr<Vertex> openstudio::Chain::getCurrentVertex ( ) const
inline
std::shared_ptr<Edge> openstudio::Chain::getNextEdge ( ) const
inline
std::shared_ptr<Vertex> openstudio::Chain::getNextVertex ( std::vector< std::vector< std::shared_ptr< Vertex >>> &  sLav) const
inline
std::shared_ptr<Edge> openstudio::Chain::getOppositeEdge ( ) const
inline
std::shared_ptr<Edge> openstudio::Chain::getPreviousEdge ( ) const
inline
std::shared_ptr<Vertex> openstudio::Chain::getPreviousVertex ( std::vector< std::vector< std::shared_ptr< Vertex >>> &  sLav) const
inline
bool openstudio::Chain::operator== ( const Chain other) const
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Chain c 
)
friend

Member Data Documentation

ChainType openstudio::Chain::chainType
bool openstudio::Chain::closed = false
std::vector<std::shared_ptr<QueueEvent> > openstudio::Chain::edgeList
bool openstudio::Chain::split = false
std::shared_ptr<QueueEvent> openstudio::Chain::splitEvent