Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gte::IsPlanarGraph< Real > Class Template Reference

#include <GteIsPlanarGraph.h>

Classes

class  Endpoint
 
struct  OrderedEdge
 

Public Types

enum  {
  IPG_IS_PLANAR_GRAPH = 0, IPG_INVALID_INPUT_SIZES = 1, IPG_DUPLICATED_POSITIONS = 2, IPG_DUPLICATED_EDGES = 4,
  IPG_DEGENERATE_EDGES = 8, IPG_EDGES_WITH_INVALID_VERTICES = 16, IPG_INVALID_INTERSECTIONS = 32
}
 

Public Member Functions

std::vector< int > const & GetDegenerateEdges () const
 
std::vector< std::vector< int > > const & GetDuplicatedEdges () const
 
std::vector< std::vector< int > > const & GetDuplicatedPositions () const
 
std::vector< int > const & GetEdgesWithInvalidVertices () const
 
std::vector< OrderedEdge > const & GetInvalidIntersections () const
 
 IsPlanarGraph ()
 
int operator() (std::vector< std::array< Real, 2 >> const &positions, std::vector< std::array< int, 2 >> const &edges)
 

Private Member Functions

void ComputeOverlappingRectangles (std::vector< std::array< Real, 2 >> const &positions, std::vector< std::array< int, 2 >> const &edges, std::set< OrderedEdge > &overlappingRectangles) const
 
bool InvalidSegmentIntersection (std::array< Real, 2 > const &p0, std::array< Real, 2 > const &p1, std::array< Real, 2 > const &q0, std::array< Real, 2 > const &q1) const
 
int IsValidTopology (std::vector< std::array< Real, 2 >> const &positions, std::vector< std::array< int, 2 >> const &edges)
 

Private Attributes

std::vector< intmDegenerateEdges
 
std::vector< std::vector< int > > mDuplicatedEdges
 
std::vector< std::vector< int > > mDuplicatedPositions
 
std::vector< intmEdgesWithInvalidVertices
 
std::vector< OrderedEdgemInvalidIntersections
 
Real mOne
 
Real mZero
 

Detailed Description

template<typename Real>
class gte::IsPlanarGraph< Real >

Definition at line 36 of file GteIsPlanarGraph.h.

Member Enumeration Documentation

template<typename Real >
anonymous enum
Enumerator
IPG_IS_PLANAR_GRAPH 
IPG_INVALID_INPUT_SIZES 
IPG_DUPLICATED_POSITIONS 
IPG_DUPLICATED_EDGES 
IPG_DEGENERATE_EDGES 
IPG_EDGES_WITH_INVALID_VERTICES 
IPG_INVALID_INTERSECTIONS 

Definition at line 41 of file GteIsPlanarGraph.h.

Constructor & Destructor Documentation

template<typename Real >
gte::IsPlanarGraph< Real >::IsPlanarGraph ( )

Definition at line 111 of file GteIsPlanarGraph.h.

Member Function Documentation

template<typename Real >
void gte::IsPlanarGraph< Real >::ComputeOverlappingRectangles ( std::vector< std::array< Real, 2 >> const &  positions,
std::vector< std::array< int, 2 >> const &  edges,
std::set< OrderedEdge > &  overlappingRectangles 
) const
private

Definition at line 299 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector< int > const & gte::IsPlanarGraph< Real >::GetDegenerateEdges ( ) const
inline

Definition at line 178 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector< std::vector< int > > const & gte::IsPlanarGraph< Real >::GetDuplicatedEdges ( ) const
inline

Definition at line 171 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector< std::vector< int > > const & gte::IsPlanarGraph< Real >::GetDuplicatedPositions ( ) const
inline

Definition at line 164 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector< int > const & gte::IsPlanarGraph< Real >::GetEdgesWithInvalidVertices ( ) const
inline

Definition at line 185 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector< typename IsPlanarGraph< Real >::OrderedEdge > const & gte::IsPlanarGraph< Real >::GetInvalidIntersections ( ) const
inline

Definition at line 192 of file GteIsPlanarGraph.h.

template<typename Real >
bool gte::IsPlanarGraph< Real >::InvalidSegmentIntersection ( std::array< Real, 2 > const &  p0,
std::array< Real, 2 > const &  p1,
std::array< Real, 2 > const &  q0,
std::array< Real, 2 > const &  q1 
) const
private

Definition at line 396 of file GteIsPlanarGraph.h.

template<typename Real >
int gte::IsPlanarGraph< Real >::IsValidTopology ( std::vector< std::array< Real, 2 >> const &  positions,
std::vector< std::array< int, 2 >> const &  edges 
)
private

Definition at line 198 of file GteIsPlanarGraph.h.

template<typename Real >
int gte::IsPlanarGraph< Real >::operator() ( std::vector< std::array< Real, 2 >> const &  positions,
std::vector< std::array< int, 2 >> const &  edges 
)

Definition at line 119 of file GteIsPlanarGraph.h.

Member Data Documentation

template<typename Real >
std::vector<int> gte::IsPlanarGraph< Real >::mDegenerateEdges
private

Definition at line 103 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector<std::vector<int> > gte::IsPlanarGraph< Real >::mDuplicatedEdges
private

Definition at line 102 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector<std::vector<int> > gte::IsPlanarGraph< Real >::mDuplicatedPositions
private

Definition at line 101 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector<int> gte::IsPlanarGraph< Real >::mEdgesWithInvalidVertices
private

Definition at line 104 of file GteIsPlanarGraph.h.

template<typename Real >
std::vector<OrderedEdge> gte::IsPlanarGraph< Real >::mInvalidIntersections
private

Definition at line 105 of file GteIsPlanarGraph.h.

template<typename Real >
Real gte::IsPlanarGraph< Real >::mOne
private

Definition at line 106 of file GteIsPlanarGraph.h.

template<typename Real >
Real gte::IsPlanarGraph< Real >::mZero
private

Definition at line 106 of file GteIsPlanarGraph.h.


The documentation for this class was generated from the following file:


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:06