OpenStudio:utilities
Loading...
Searching...
No Matches
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_parent)
 
 QueueEvent (const Point3d &t_point, double t_distance, std::shared_ptr< Vertex > t_parent, std::shared_ptr< Edge > t_oppositeEdge)
 
 QueueEvent (const Point3d &t_point, double t_distance, std::shared_ptr< Vertex > t_previousVertex, std::shared_ptr< Vertex > t_nextVertex)
 

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
 

Member Enumeration Documentation

◆ QueueEventType

Enumerator
TYPE_EDGE 
TYPE_SPLIT 
TYPE_SPLIT_VERTEX 

Constructor & Destructor Documentation

◆ QueueEvent() [1/4]

openstudio::QueueEvent::QueueEvent ( )
inline

◆ QueueEvent() [2/4]

openstudio::QueueEvent::QueueEvent ( const Point3d & t_point,
double t_distance,
std::shared_ptr< Vertex > t_previousVertex,
std::shared_ptr< Vertex > t_nextVertex )
inline

◆ QueueEvent() [3/4]

openstudio::QueueEvent::QueueEvent ( const Point3d & t_point,
double t_distance,
std::shared_ptr< Vertex > t_parent )
inline

◆ QueueEvent() [4/4]

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

◆ addEventToGroup()

void openstudio::QueueEvent::addEventToGroup ( std::vector< std::shared_ptr< Vertex > > & parentGroup) const
inline

◆ getOppositeEdgePrevious()

std::shared_ptr< Edge > openstudio::QueueEvent::getOppositeEdgePrevious ( ) const
inline

◆ insert_sorted()

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

◆ isEventInGroup()

bool openstudio::QueueEvent::isEventInGroup ( std::vector< std::shared_ptr< Vertex > > & parentGroup)
inline

◆ isObsolete()

bool openstudio::QueueEvent::isObsolete ( ) const
inline

◆ operator<()

bool openstudio::QueueEvent::operator< ( const QueueEvent & other) const
inline

◆ operator==()

bool openstudio::QueueEvent::operator== ( const QueueEvent & other) const
inline

Member Data Documentation

◆ distance

double openstudio::QueueEvent::distance = 0.0

◆ eventType

QueueEventType openstudio::QueueEvent::eventType

◆ nextVertex

std::shared_ptr<Vertex> openstudio::QueueEvent::nextVertex

◆ oppositeEdge

std::shared_ptr<Edge> openstudio::QueueEvent::oppositeEdge

◆ parent

std::shared_ptr<Vertex> openstudio::QueueEvent::parent

◆ point

Point3d openstudio::QueueEvent::point

◆ previousVertex

std::shared_ptr<Vertex> openstudio::QueueEvent::previousVertex