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 > splitEvent)
 
 Chain (std::vector< std::shared_ptr< QueueEvent > > &edgeList, std::vector< std::vector< std::shared_ptr< Vertex > > > &sLav)
 
 Chain (std::shared_ptr< Edge > oppositeEdge, std::shared_ptr< Vertex > nextVertex, std::vector< std::vector< std::shared_ptr< Vertex > > > &sLav)
 
ChainMode getChainMode ()
 
std::shared_ptr< VertexgetCurrentVertex ()
 
std::shared_ptr< EdgegetNextEdge ()
 
std::shared_ptr< VertexgetNextVertex (std::vector< std::vector< std::shared_ptr< Vertex > > > &sLav)
 
std::shared_ptr< EdgegetOppositeEdge ()
 
std::shared_ptr< EdgegetPreviousEdge ()
 
std::shared_ptr< VertexgetPreviousVertex (std::vector< std::vector< std::shared_ptr< Vertex > > > &sLav)
 
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, 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 splitEvent)
inline
openstudio::Chain::Chain ( std::vector< std::shared_ptr< QueueEvent > > &  edgeList,
std::vector< std::vector< std::shared_ptr< Vertex > > > &  sLav 
)
inline
openstudio::Chain::Chain ( std::shared_ptr< Edge oppositeEdge,
std::shared_ptr< Vertex nextVertex,
std::vector< std::vector< std::shared_ptr< Vertex > > > &  sLav 
)
inline

Member Function Documentation

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

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
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