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)
 
std::shared_ptr< EdgegetOppositeEdgePrevious ()
 
bool isEventInGroup (std::vector< std::shared_ptr< Vertex > > &parentGroup)
 
bool isObsolete ()
 
bool operator< (const QueueEvent &other) const
 
bool operator== (const QueueEvent &other) const
 
 QueueEvent ()
 
 QueueEvent (Point3d &point, double distance, std::shared_ptr< Vertex > previousVertex, std::shared_ptr< Vertex > nextVertex)
 
 QueueEvent (Point3d &point, double distance, std::shared_ptr< Vertex > parent)
 
 QueueEvent (Point3d &point, double distance, std::shared_ptr< Vertex > parent, std::shared_ptr< Edge > 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 ( Point3d point,
double  distance,
std::shared_ptr< Vertex previousVertex,
std::shared_ptr< Vertex nextVertex 
)
inline
openstudio::QueueEvent::QueueEvent ( Point3d point,
double  distance,
std::shared_ptr< Vertex parent 
)
inline
openstudio::QueueEvent::QueueEvent ( Point3d point,
double  distance,
std::shared_ptr< Vertex parent,
std::shared_ptr< Edge oppositeEdge 
)
inline

Member Function Documentation

void openstudio::QueueEvent::addEventToGroup ( std::vector< std::shared_ptr< Vertex > > &  parentGroup)
inline
std::shared_ptr<Edge> openstudio::QueueEvent::getOppositeEdgePrevious ( )
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 ( )
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