#include <GeometryObject.h>
Public Member Functions | |
int addCenterLine (TechDraw::BaseGeom *bg, std::string tag) | |
int addCosmeticEdge (Base::Vector3d start, Base::Vector3d end) | |
int addCosmeticEdge (Base::Vector3d start, Base::Vector3d end, std::string tagString) | |
int addCosmeticEdge (CosmeticEdge *ce) | |
int addCosmeticEdge (TechDraw::BaseGeom *base, std::string tagString) | |
int addCosmeticVertex (Base::Vector3d pos) | |
int addCosmeticVertex (Base::Vector3d pos, std::string tagString) | |
int addCosmeticVertex (CosmeticVertex *cv) | |
void addEdge (TechDraw::BaseGeom *bg) | |
void addFaceGeom (Face *f) | |
add a Face to Face Geometry More... | |
void addVertex (TechDraw::Vertex *v) | |
Base::BoundBox3d calcBoundingBox () const | |
Returns 2D bounding box. More... | |
void clear () | |
void clearFaceGeom () | |
empty Face geometry More... | |
void extractGeometry (edgeClass category, bool visible) | |
add edges meeting filter criteria for category, visibility More... | |
GeometryObject (const std::string &parent, TechDraw::DrawView *parentObj) | |
Constructor. More... | |
const std::vector< BaseGeom * > & getEdgeGeometry () const | |
const std::vector< Face * > & getFaceGeometry () const | |
double getFocus (void) | |
TopoDS_Shape getHidHard (void) | |
TopoDS_Shape getHidIso (void) | |
TopoDS_Shape getHidOutline (void) | |
TopoDS_Shape getHidSeam (void) | |
TopoDS_Shape getHidSmooth (void) | |
const std::vector< Vertex * > & getVertexGeometry () const | |
TopoDS_Shape getVisHard (void) | |
const std::vector< BaseGeom * > getVisibleFaceEdges (bool smooth, bool seam) const | |
TopoDS_Shape getVisIso (void) | |
TopoDS_Shape getVisOutline (void) | |
TopoDS_Shape getVisSeam (void) | |
TopoDS_Shape getVisSmooth (void) | |
void isPerspective (bool b) | |
bool isPerspective (void) | |
TopoDS_Shape projectFace (const TopoDS_Shape &face, const gp_Ax2 CS) | |
void projectShape (const TopoDS_Shape &input, const gp_Ax2 viewAxis) | |
set up a hidden line remover and project a shape with it More... | |
void projectShapeWithPolygonAlgo (const TopoDS_Shape &input, const gp_Ax2 viewAxis) | |
set up a hidden line remover and project a shape with it More... | |
void pruneVertexGeom (Base::Vector3d center, double radius) | |
void setEdgeGeometry (std::vector< BaseGeom * > newGeoms) | |
void setFocus (double f) | |
void setIsoCount (int i) | |
void setParentName (std::string n) | |
void setVertexGeometry (std::vector< Vertex * > newVerts) | |
void usePolygonHLR (bool b) | |
bool usePolygonHLR (void) const | |
virtual ~GeometryObject () | |
Static Public Member Functions | |
static TopoDS_Shape invertGeometry (const TopoDS_Shape s) | |
Protected Member Functions | |
void addGeomFromCompound (TopoDS_Shape edgeCompound, edgeClass category, bool visible) | |
update edgeGeom and vertexGeom from Compound of edges More... | |
bool findVertex (Base::Vector3d v) | |
does this GeometryObject already have this vertex More... | |
TechDraw::DrawViewDetail * isParentDetail (void) | |
bool isWithinArc (double theta, double first, double last, bool cw) const | |
Protected Attributes | |
std::vector< BaseGeom * > edgeGeom | |
std::vector< Face * > faceGeom | |
TopoDS_Shape hidHard | |
TopoDS_Shape hidIso | |
TopoDS_Shape hidOutline | |
TopoDS_Shape hidSeam | |
TopoDS_Shape hidSmooth | |
double m_focus | |
int m_isoCount | |
bool m_isPersp | |
TechDraw::DrawView * m_parent | |
std::string m_parentName | |
bool m_usePolygonHLR | |
std::vector< Vertex * > vertexGeom | |
TopoDS_Shape visHard | |
TopoDS_Shape visIso | |
TopoDS_Shape visOutline | |
TopoDS_Shape visSeam | |
TopoDS_Shape visSmooth | |
Constructor & Destructor Documentation
◆ GeometryObject()
GeometryObject::GeometryObject | ( | const std::string & | parent, |
TechDraw::DrawView * | parentObj | ||
) |
Constructor.
◆ ~GeometryObject()
|
virtual |
References clear().
Member Function Documentation
◆ addCenterLine()
int GeometryObject::addCenterLine | ( | TechDraw::BaseGeom * | bg, |
std::string | tag | ||
) |
References edgeGeom.
Referenced by TechDraw::DrawViewPart::add1CLToGE(), and TechDraw::DrawViewPart::addCenterLinesToGeom().
◆ addCosmeticEdge() [1/4]
int GeometryObject::addCosmeticEdge | ( | Base::Vector3d | start, |
Base::Vector3d | end | ||
) |
References TechDraw::BaseGeom::baseFactory(), and edgeGeom.
◆ addCosmeticEdge() [2/4]
int GeometryObject::addCosmeticEdge | ( | Base::Vector3d | start, |
Base::Vector3d | end, | ||
std::string | tagString | ||
) |
References TechDraw::BaseGeom::baseFactory(), and edgeGeom.
◆ addCosmeticEdge() [3/4]
int GeometryObject::addCosmeticEdge | ( | CosmeticEdge * | ce | ) |
◆ addCosmeticEdge() [4/4]
int GeometryObject::addCosmeticEdge | ( | TechDraw::BaseGeom * | base, |
std::string | tagString | ||
) |
References edgeGeom.
◆ addCosmeticVertex() [1/3]
int GeometryObject::addCosmeticVertex | ( | Base::Vector3d | pos | ) |
References Base::Console(), Base::ConsoleSingleton::Message(), and vertexGeom.
◆ addCosmeticVertex() [2/3]
int GeometryObject::addCosmeticVertex | ( | Base::Vector3d | pos, |
std::string | tagString | ||
) |
References vertexGeom.
◆ addCosmeticVertex() [3/3]
int GeometryObject::addCosmeticVertex | ( | CosmeticVertex * | cv | ) |
◆ addEdge()
void GeometryObject::addEdge | ( | TechDraw::BaseGeom * | bg | ) |
References edgeGeom.
◆ addFaceGeom()
void GeometryObject::addFaceGeom | ( | Face * | f | ) |
References faceGeom.
Referenced by TechDraw::DrawViewPart::extractFaces().
◆ addGeomFromCompound()
|
protected |
update edgeGeom and vertexGeom from Compound of edges
References TechDraw::BaseGeom::baseFactory(), Base::Console(), edgeGeom, TechDraw::BaseGeom::getEndPoint(), TechDraw::BaseGeom::getStartPoint(), TechDraw::DrawUtil::isCrazy(), TechDraw::DrawUtil::isZeroEdge(), Base::ConsoleSingleton::Log(), and vertexGeom.
Referenced by extractGeometry().
◆ addVertex()
void GeometryObject::addVertex | ( | TechDraw::Vertex * | v | ) |
References vertexGeom.
Referenced by TechDraw::DrawViewPart::addShapes2d().
◆ calcBoundingBox()
Base::BoundBox3d GeometryObject::calcBoundingBox | ( | ) | const |
Returns 2D bounding box.
References Base::Console(), edgeGeom, and Base::ConsoleSingleton::Log().
Referenced by TechDraw::DrawViewPart::buildGeometryObject().
◆ clear()
void GeometryObject::clear | ( | ) |
References edgeGeom, faceGeom, and vertexGeom.
Referenced by TechDraw::DrawViewDetail::detailExec(), projectShape(), projectShapeWithPolygonAlgo(), and ~GeometryObject().
◆ clearFaceGeom()
void GeometryObject::clearFaceGeom | ( | ) |
◆ extractGeometry()
add edges meeting filter criteria for category, visibility
References addGeomFromCompound(), Base::Console(), TechDraw::ecHARD, TechDraw::ecOUTLINE, TechDraw::ecSEAM, TechDraw::ecSMOOTH, TechDraw::ecUVISO, hidHard, hidIso, hidOutline, hidSeam, hidSmooth, visHard, visIso, visOutline, visSeam, visSmooth, and Base::ConsoleSingleton::Warning().
Referenced by TechDraw::DrawProjectSplit::buildGeometryObject(), and TechDraw::DrawViewPart::buildGeometryObject().
◆ findVertex()
|
protected |
does this GeometryObject already have this vertex
References DraftVecUtils::dist(), and vertexGeom.
◆ getEdgeGeometry()
const std::vector<BaseGeom *>& TechDraw::GeometryObject::getEdgeGeometry | ( | ) | const |
◆ getFaceGeometry()
const std::vector<Face *>& TechDraw::GeometryObject::getFaceGeometry | ( | ) | const |
Referenced by TechDraw::DrawViewPart::getFaceGeometry().
◆ getFocus()
double TechDraw::GeometryObject::getFocus | ( | void | ) |
◆ getHidHard()
TopoDS_Shape TechDraw::GeometryObject::getHidHard | ( | void | ) |
◆ getHidIso()
TopoDS_Shape TechDraw::GeometryObject::getHidIso | ( | void | ) |
◆ getHidOutline()
TopoDS_Shape TechDraw::GeometryObject::getHidOutline | ( | void | ) |
◆ getHidSeam()
TopoDS_Shape TechDraw::GeometryObject::getHidSeam | ( | void | ) |
◆ getHidSmooth()
TopoDS_Shape TechDraw::GeometryObject::getHidSmooth | ( | void | ) |
◆ getVertexGeometry()
const std::vector<Vertex *>& TechDraw::GeometryObject::getVertexGeometry | ( | ) | const |
Referenced by TechDraw::DrawViewPart::getVertexGeometry(), and pruneVertexGeom().
◆ getVisHard()
TopoDS_Shape TechDraw::GeometryObject::getVisHard | ( | void | ) |
◆ getVisibleFaceEdges()
◆ getVisIso()
TopoDS_Shape TechDraw::GeometryObject::getVisIso | ( | void | ) |
◆ getVisOutline()
TopoDS_Shape TechDraw::GeometryObject::getVisOutline | ( | void | ) |
◆ getVisSeam()
TopoDS_Shape TechDraw::GeometryObject::getVisSeam | ( | void | ) |
◆ getVisSmooth()
TopoDS_Shape TechDraw::GeometryObject::getVisSmooth | ( | void | ) |
◆ invertGeometry()
|
static |
◆ isParentDetail()
|
protected |
References m_parent.
◆ isPerspective() [1/2]
void TechDraw::GeometryObject::isPerspective | ( | bool | b | ) |
Referenced by TechDraw::DrawViewPart::buildGeometryObject().
◆ isPerspective() [2/2]
bool TechDraw::GeometryObject::isPerspective | ( | void | ) |
◆ isWithinArc()
|
protected |
Returns true iff angle theta is in [first, last], where the arc goes clockwise (cw=true) or counterclockwise (cw=false) from first to last.
◆ projectFace()
TopoDS_Shape GeometryObject::projectFace | ( | const TopoDS_Shape & | face, |
const gp_Ax2 | CS | ||
) |
References invertGeometry().
◆ projectShape()
void GeometryObject::projectShape | ( | const TopoDS_Shape & | input, |
const gp_Ax2 | viewAxis | ||
) |
set up a hidden line remover and project a shape with it
References clear(), Base::Console(), Base::ConsoleSingleton::Error(), hidHard, hidIso, hidOutline, hidSeam, hidSmooth, invertGeometry(), Base::ConsoleSingleton::Log(), m_focus, m_isoCount, m_isPersp, m_parentName, visHard, visIso, visOutline, visSeam, and visSmooth.
Referenced by TechDraw::DrawProjectSplit::buildGeometryObject(), and TechDraw::DrawViewPart::buildGeometryObject().
◆ projectShapeWithPolygonAlgo()
void GeometryObject::projectShapeWithPolygonAlgo | ( | const TopoDS_Shape & | input, |
const gp_Ax2 | viewAxis | ||
) |
set up a hidden line remover and project a shape with it
References clear(), Base::Console(), Base::ConsoleSingleton::Error(), TechDraw::findCentroid(), hidHard, hidOutline, hidSeam, hidSmooth, invertGeometry(), Base::ConsoleSingleton::Log(), m_focus, m_isPersp, m_parentName, TechDraw::moveShape(), visHard, visOutline, visSeam, and visSmooth.
Referenced by TechDraw::DrawProjectSplit::buildGeometryObject(), and TechDraw::DrawViewPart::buildGeometryObject().
◆ pruneVertexGeom()
void GeometryObject::pruneVertexGeom | ( | Base::Vector3d | center, |
double | radius | ||
) |
References getVertexGeometry(), and vertexGeom.
◆ setEdgeGeometry()
void TechDraw::GeometryObject::setEdgeGeometry | ( | std::vector< BaseGeom * > | newGeoms | ) |
Referenced by TechDraw::DrawViewPart::refreshCEGeoms(), and TechDraw::DrawViewPart::refreshCLGeoms().
◆ setFocus()
void TechDraw::GeometryObject::setFocus | ( | double | f | ) |
Referenced by TechDraw::DrawViewPart::buildGeometryObject().
◆ setIsoCount()
void TechDraw::GeometryObject::setIsoCount | ( | int | i | ) |
Referenced by TechDraw::DrawViewPart::buildGeometryObject().
◆ setParentName()
void TechDraw::GeometryObject::setParentName | ( | std::string | n | ) |
◆ setVertexGeometry()
void TechDraw::GeometryObject::setVertexGeometry | ( | std::vector< Vertex * > | newVerts | ) |
◆ usePolygonHLR() [1/2]
void TechDraw::GeometryObject::usePolygonHLR | ( | bool | b | ) |
◆ usePolygonHLR() [2/2]
bool TechDraw::GeometryObject::usePolygonHLR | ( | void | ) | const |
Member Data Documentation
◆ edgeGeom
|
protected |
Referenced by addCenterLine(), addCosmeticEdge(), addEdge(), addGeomFromCompound(), calcBoundingBox(), clear(), and getVisibleFaceEdges().
◆ faceGeom
|
protected |
Referenced by addFaceGeom(), clear(), and clearFaceGeom().
◆ hidHard
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ hidIso
|
protected |
Referenced by extractGeometry(), and projectShape().
◆ hidOutline
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ hidSeam
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ hidSmooth
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ m_focus
|
protected |
Referenced by projectShape(), and projectShapeWithPolygonAlgo().
◆ m_isoCount
|
protected |
Referenced by projectShape().
◆ m_isPersp
|
protected |
Referenced by projectShape(), and projectShapeWithPolygonAlgo().
◆ m_parent
|
protected |
Referenced by addCosmeticEdge(), addCosmeticVertex(), and isParentDetail().
◆ m_parentName
|
protected |
Referenced by projectShape(), and projectShapeWithPolygonAlgo().
◆ m_usePolygonHLR
|
protected |
◆ vertexGeom
|
protected |
Referenced by addCosmeticVertex(), addGeomFromCompound(), addVertex(), clear(), findVertex(), and pruneVertexGeom().
◆ visHard
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ visIso
|
protected |
Referenced by extractGeometry(), and projectShape().
◆ visOutline
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ visSeam
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
◆ visSmooth
|
protected |
Referenced by extractGeometry(), projectShape(), and projectShapeWithPolygonAlgo().
The documentation for this class was generated from the following files:
- src/Mod/TechDraw/App/GeometryObject.h
- src/Mod/TechDraw/App/GeometryObject.cpp