TechDraw::GeometryObject Class Reference

#include <GeometryObject.h>

Public Member Functions

int addCenterLine (TechDraw::BaseGeomPtr 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::BaseGeomPtr base, std::string tagString)
 
int addCosmeticVertex (Base::Vector3d pos)
 
int addCosmeticVertex (Base::Vector3d pos, std::string tagString)
 
int addCosmeticVertex (CosmeticVertex *cv)
 
void addEdge (TechDraw::BaseGeomPtr bg)
 
void addFaceGeom (FacePtr f)
 add a Face to Face Geometry More...
 
void addVertex (TechDraw::VertexPtr 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 BaseGeomPtrVectorgetEdgeGeometry () const
 
const std::vector< FacePtr > & 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< VertexPtr > & getVertexGeometry () const
 
TopoDS_Shape getVisHard (void)
 
const BaseGeomPtrVector 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 (BaseGeomPtrVector newGeoms)
 
void setFocus (double f)
 
void setIsoCount (int i)
 
void setParentName (std::string n)
 
void setVertexGeometry (std::vector< VertexPtr > 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::DrawViewDetailisParentDetail (void)
 
bool isWithinArc (double theta, double first, double last, bool cw) const
 

Protected Attributes

BaseGeomPtrVector edgeGeom
 
std::vector< FacePtrfaceGeom
 
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::DrawViewm_parent
 
std::string m_parentName
 
bool m_usePolygonHLR
 
std::vector< VertexPtrvertexGeom
 
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()

GeometryObject::~GeometryObject ( )
virtual

References clear().

Member Function Documentation

◆ addCenterLine()

int GeometryObject::addCenterLine ( TechDraw::BaseGeomPtr  bg,
std::string  tag 
)

◆ addCosmeticEdge() [1/4]

int GeometryObject::addCosmeticEdge ( Base::Vector3d  start,
Base::Vector3d  end 
)

◆ addCosmeticEdge() [2/4]

int GeometryObject::addCosmeticEdge ( Base::Vector3d  start,
Base::Vector3d  end,
std::string  tagString 
)

◆ addCosmeticEdge() [3/4]

◆ addCosmeticEdge() [4/4]

int GeometryObject::addCosmeticEdge ( TechDraw::BaseGeomPtr  base,
std::string  tagString 
)

References edgeGeom.

◆ addCosmeticVertex() [1/3]

int GeometryObject::addCosmeticVertex ( Base::Vector3d  pos)

◆ addCosmeticVertex() [2/3]

int GeometryObject::addCosmeticVertex ( Base::Vector3d  pos,
std::string  tagString 
)

References vertexGeom.

◆ addCosmeticVertex() [3/3]

◆ addEdge()

void GeometryObject::addEdge ( TechDraw::BaseGeomPtr  bg)

◆ addFaceGeom()

void GeometryObject::addFaceGeom ( FacePtr  f)

add a Face to Face Geometry

References faceGeom.

Referenced by TechDraw::DrawViewPart::extractFaces().

◆ addGeomFromCompound()

void GeometryObject::addGeomFromCompound ( TopoDS_Shape  edgeCompound,
edgeClass  category,
bool  visible 
)
protected

◆ addVertex()

void GeometryObject::addVertex ( TechDraw::VertexPtr  v)

◆ calcBoundingBox()

Base::BoundBox3d GeometryObject::calcBoundingBox ( ) const

◆ clear()

void GeometryObject::clear ( void  )

◆ clearFaceGeom()

void GeometryObject::clearFaceGeom ( )

empty Face geometry

References faceGeom.

Referenced by TechDraw::DrawViewPart::extractFaces().

◆ extractGeometry()

◆ findVertex()

bool GeometryObject::findVertex ( Base::Vector3d  v)
protected

does this GeometryObject already have this vertex

References DraftVecUtils::dist(), and vertexGeom.

◆ getEdgeGeometry()

const BaseGeomPtrVector & TechDraw::GeometryObject::getEdgeGeometry ( ) const

◆ getFaceGeometry()

const std::vector< FacePtr > & TechDraw::GeometryObject::getFaceGeometry ( ) const

◆ 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< VertexPtr > & TechDraw::GeometryObject::getVertexGeometry ( ) const

◆ 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()

TopoDS_Shape GeometryObject::invertGeometry ( const TopoDS_Shape  s)
static

◆ isParentDetail()

TechDraw::DrawViewDetail * GeometryObject::isParentDetail ( void  )
protected

References m_parent.

◆ isPerspective() [1/2]

void TechDraw::GeometryObject::isPerspective ( bool  b)

◆ isPerspective() [2/2]

bool TechDraw::GeometryObject::isPerspective ( void  )

◆ isWithinArc()

bool GeometryObject::isWithinArc ( double  theta,
double  first,
double  last,
bool  cw 
) const
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().

Referenced by ArchVRM.Renderer::reorient().

◆ projectShape()

void GeometryObject::projectShape ( const TopoDS_Shape &  input,
const gp_Ax2 &  viewAxis 
)

◆ projectShapeWithPolygonAlgo()

void GeometryObject::projectShapeWithPolygonAlgo ( const TopoDS_Shape &  input,
const gp_Ax2 &  viewAxis 
)

◆ pruneVertexGeom()

void GeometryObject::pruneVertexGeom ( Base::Vector3d  center,
double  radius 
)

◆ setEdgeGeometry()

void TechDraw::GeometryObject::setEdgeGeometry ( BaseGeomPtrVector  newGeoms)

◆ setFocus()

◆ setIsoCount()

void TechDraw::GeometryObject::setIsoCount ( int  i)

◆ setParentName()

void TechDraw::GeometryObject::setParentName ( std::string  n)

◆ setVertexGeometry()

void TechDraw::GeometryObject::setVertexGeometry ( std::vector< VertexPtr newVerts)

◆ usePolygonHLR() [1/2]

◆ usePolygonHLR() [2/2]

bool TechDraw::GeometryObject::usePolygonHLR ( void  ) const

Member Data Documentation

◆ edgeGeom

◆ faceGeom

std::vector<FacePtr> TechDraw::GeometryObject::faceGeom
protected

Referenced by addFaceGeom(), clear(), and clearFaceGeom().

◆ hidHard

TopoDS_Shape TechDraw::GeometryObject::hidHard
protected

◆ hidIso

TopoDS_Shape TechDraw::GeometryObject::hidIso
protected

Referenced by extractGeometry(), and projectShape().

◆ hidOutline

TopoDS_Shape TechDraw::GeometryObject::hidOutline
protected

◆ hidSeam

TopoDS_Shape TechDraw::GeometryObject::hidSeam
protected

◆ hidSmooth

TopoDS_Shape TechDraw::GeometryObject::hidSmooth
protected

◆ m_focus

double TechDraw::GeometryObject::m_focus
protected

◆ m_isoCount

int TechDraw::GeometryObject::m_isoCount
protected

Referenced by projectShape().

◆ m_isPersp

bool TechDraw::GeometryObject::m_isPersp
protected

◆ m_parent

TechDraw::DrawView* TechDraw::GeometryObject::m_parent
protected

◆ m_parentName

std::string TechDraw::GeometryObject::m_parentName
protected

◆ m_usePolygonHLR

bool TechDraw::GeometryObject::m_usePolygonHLR
protected

◆ vertexGeom

std::vector<VertexPtr> TechDraw::GeometryObject::vertexGeom
protected

◆ visHard

TopoDS_Shape TechDraw::GeometryObject::visHard
protected

◆ visIso

TopoDS_Shape TechDraw::GeometryObject::visIso
protected

Referenced by extractGeometry(), and projectShape().

◆ visOutline

TopoDS_Shape TechDraw::GeometryObject::visOutline
protected

◆ visSeam

TopoDS_Shape TechDraw::GeometryObject::visSeam
protected

◆ visSmooth

TopoDS_Shape TechDraw::GeometryObject::visSmooth
protected

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