#include <EdgeWalker.h>
Public Member Functions | |
EdgeWalker (void) | |
int findUniqueVert (TopoDS_Vertex vx, std::vector< TopoDS_Vertex > &uniqueVert) | |
std::vector< edge_t > getEmbeddingRow (int v) | |
get incidence row as edgeDescriptors for v'th vertex More... | |
std::vector< int > getEmbeddingRowIx (int v) | |
get incidence row as edge indices for v'th vertex More... | |
ewWireList getResult () | |
std::vector< TopoDS_Wire > getResultNoDups () | |
std::vector< TopoDS_Wire > getResultWires () | |
bool loadEdges (std::vector< TechDraw::WalkerEdge > &edges) | |
bool loadEdges (std::vector< TopoDS_Edge > edges) | |
std::vector< embedItem > makeEmbedding (const std::vector< TopoDS_Edge > edges, const std::vector< TopoDS_Vertex > uniqueVList) | |
std::vector< TopoDS_Vertex > makeUniqueVList (std::vector< TopoDS_Edge > edges) | |
std::vector< WalkerEdge > makeWalkerEdges (std::vector< TopoDS_Edge > edges, std::vector< TopoDS_Vertex > verts) | |
make WalkerEdges (unique Vertex index pairs) from edge list More... | |
bool perform () | |
bool setSize (int size) | |
std::vector< TopoDS_Wire > sortStrip (std::vector< TopoDS_Wire > fw, bool includeBiggest) | |
std::vector< TopoDS_Wire > sortWiresBySize (std::vector< TopoDS_Wire > &w, bool reverse=false) | |
virtual ~EdgeWalker () | |
Static Public Member Functions | |
static TopoDS_Wire makeCleanWire (std::vector< TopoDS_Edge > edges, double tol=0.10) | |
make a clean wire with sorted, oriented, connected, etc edges More... | |
Static Protected Member Functions | |
static bool wireCompare (const TopoDS_Wire &w1, const TopoDS_Wire &w2) | |
return true if w1 enclosed area is bigger than w2 enclosed area More... | |
Protected Attributes | |
std::vector< embedItem > m_embedding | |
std::vector< TopoDS_Edge > m_saveInEdges | |
std::vector< TechDraw::WalkerEdge > m_saveWalkerEdges | |
Constructor & Destructor Documentation
◆ EdgeWalker()
EdgeWalker::EdgeWalker | ( | void | ) |
◆ ~EdgeWalker()
|
virtual |
Member Function Documentation
◆ findUniqueVert()
int EdgeWalker::findUniqueVert | ( | TopoDS_Vertex | vx, |
std::vector< TopoDS_Vertex > & | uniqueVert | ||
) |
References TechDraw::DrawUtil::isSamePoint().
◆ getEmbeddingRow()
std::vector< edge_t > EdgeWalker::getEmbeddingRow | ( | int | v | ) |
get incidence row as edgeDescriptors for v'th vertex
References TechDraw::embedItem::incidenceList.
◆ getEmbeddingRowIx()
std::vector< int > EdgeWalker::getEmbeddingRowIx | ( | int | v | ) |
get incidence row as edge indices for v'th vertex
References TechDraw::embedItem::incidenceList.
◆ getResult()
ewWireList EdgeWalker::getResult | ( | ) |
◆ getResultNoDups()
std::vector< TopoDS_Wire > EdgeWalker::getResultNoDups | ( | ) |
Referenced by TechDraw::DrawViewPart::extractFaces().
◆ getResultWires()
std::vector< TopoDS_Wire > EdgeWalker::getResultWires | ( | ) |
◆ loadEdges() [1/2]
bool EdgeWalker::loadEdges | ( | std::vector< TechDraw::WalkerEdge > & | edges | ) |
Referenced by TechDraw::DrawViewPart::extractFaces().
◆ loadEdges() [2/2]
bool EdgeWalker::loadEdges | ( | std::vector< TopoDS_Edge > | edges | ) |
◆ makeCleanWire()
|
static |
make a clean wire with sorted, oriented, connected, etc edges
Referenced by TechDraw::DrawViewPart::getWireForFace().
◆ makeEmbedding()
std::vector< embedItem > EdgeWalker::makeEmbedding | ( | const std::vector< TopoDS_Edge > | edges, |
const std::vector< TopoDS_Vertex > | uniqueVList | ||
) |
◆ makeUniqueVList()
std::vector< TopoDS_Vertex > EdgeWalker::makeUniqueVList | ( | std::vector< TopoDS_Edge > | edges | ) |
References TechDraw::DrawUtil::isSamePoint().
◆ makeWalkerEdges()
std::vector< WalkerEdge > EdgeWalker::makeWalkerEdges | ( | std::vector< TopoDS_Edge > | edges, |
std::vector< TopoDS_Vertex > | verts | ||
) |
make WalkerEdges (unique Vertex index pairs) from edge list
References TechDraw::WalkerEdge::v1, and TechDraw::WalkerEdge::v2.
◆ perform()
bool EdgeWalker::perform | ( | ) |
References Base::Console(), and Base::ConsoleSingleton::Log().
Referenced by TechDraw::DrawViewPart::extractFaces().
◆ setSize()
bool EdgeWalker::setSize | ( | int | size | ) |
◆ sortStrip()
std::vector< TopoDS_Wire > EdgeWalker::sortStrip | ( | std::vector< TopoDS_Wire > | fw, |
bool | includeBiggest | ||
) |
References Base::Console(), and Base::ConsoleSingleton::Log().
Referenced by TechDraw::DrawViewPart::extractFaces().
◆ sortWiresBySize()
std::vector< TopoDS_Wire > EdgeWalker::sortWiresBySize | ( | std::vector< TopoDS_Wire > & | w, |
bool | reverse = false |
||
) |
References wireCompare().
◆ wireCompare()
|
staticprotected |
return true if w1 enclosed area is bigger than w2 enclosed area
Referenced by sortWiresBySize().
Member Data Documentation
◆ m_embedding
|
protected |
◆ m_saveInEdges
|
protected |
◆ m_saveWalkerEdges
|
protected |
The documentation for this class was generated from the following files:
- src/Mod/TechDraw/App/EdgeWalker.h
- src/Mod/TechDraw/App/EdgeWalker.cpp