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

#include <RoofGeometry_Details.hpp>

Classes

struct  Comparer
 

Public Types

enum  QueueEventType { TYPE_EDGE = 0, TYPE_SPLIT = 1, TYPE_SPLIT_VERTEX = 2 }
 

Public Member Functions

void addEventToGroup (std::vector< std::shared_ptr< Vertex >> &parentGroup) const
 
std::shared_ptr< EdgegetOppositeEdgePrevious () const
 
bool isEventInGroup (std::vector< std::shared_ptr< Vertex >> &parentGroup)
 
bool isObsolete () const
 
bool operator< (const QueueEvent &other) const
 
bool operator== (const QueueEvent &other) const
 
 QueueEvent ()
 
 QueueEvent (const Point3d &t_point, double t_distance, std::shared_ptr< Vertex > t_previousVertex, std::shared_ptr< Vertex > t_nextVertex)
 
 QueueEvent (const Point3d &t_point, double t_distance, std::shared_ptr< Vertex > t_parent)
 
 QueueEvent (const Point3d &t_point, double t_distance, std::shared_ptr< Vertex > t_parent, std::shared_ptr< Edge > t_oppositeEdge)
 

Static Public Member Functions

static void insert_sorted (std::vector< std::shared_ptr< QueueEvent >> &queue, std::shared_ptr< QueueEvent > item)
 

Public Attributes

double distance = 0.0
 
QueueEventType eventType
 
std::shared_ptr< VertexnextVertex
 
std::shared_ptr< EdgeoppositeEdge
 
std::shared_ptr< Vertexparent
 
Point3d point
 
std::shared_ptr< VertexpreviousVertex
 

Friends

std::ostream & operator<< (std::ostream &os, const QueueEvent &e)
 

Member Enumeration Documentation

Enumerator
TYPE_EDGE 
TYPE_SPLIT 
TYPE_SPLIT_VERTEX 

Constructor & Destructor Documentation

openstudio::QueueEvent::QueueEvent ( )
inline
openstudio::QueueEvent::QueueEvent ( const Point3d t_point,
double  t_distance,
std::shared_ptr< Vertex t_previousVertex,
std::shared_ptr< Vertex t_nextVertex 
)
inline
openstudio::QueueEvent::QueueEvent ( const Point3d t_point,
double  t_distance,
std::shared_ptr< Vertex t_parent 
)
inline
openstudio::QueueEvent::QueueEvent ( const Point3d t_point,
double  t_distance,
std::shared_ptr< Vertex t_parent,
std::shared_ptr< Edge t_oppositeEdge 
)
inline

Member Function Documentation

void openstudio::QueueEvent::addEventToGroup ( std::vector< std::shared_ptr< Vertex >> &  parentGroup) const
inline
std::shared_ptr<Edge> openstudio::QueueEvent::getOppositeEdgePrevious ( ) const
inline
static void openstudio::QueueEvent::insert_sorted ( std::vector< std::shared_ptr< QueueEvent >> &  queue,
std::shared_ptr< QueueEvent item 
)
inlinestatic
bool openstudio::QueueEvent::isEventInGroup ( std::vector< std::shared_ptr< Vertex >> &  parentGroup)
inline
bool openstudio::QueueEvent::isObsolete ( ) const
inline
bool openstudio::QueueEvent::operator< ( const QueueEvent other) const
inline
bool openstudio::QueueEvent::operator== ( const QueueEvent other) const
inline

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const QueueEvent e 
)
friend

Member Data Documentation

double openstudio::QueueEvent::distance = 0.0
QueueEventType openstudio::QueueEvent::eventType
std::shared_ptr<Vertex> openstudio::QueueEvent::nextVertex
std::shared_ptr<Edge> openstudio::QueueEvent::oppositeEdge
std::shared_ptr<Vertex> openstudio::QueueEvent::parent
Point3d openstudio::QueueEvent::point
std::shared_ptr<Vertex> openstudio::QueueEvent::previousVertex