#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::DrawViewDetailisParentDetail (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::DrawViewm_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()

GeometryObject::~GeometryObject ( )
virtual

References clear().

Member Function Documentation

◆ addCenterLine()

int GeometryObject::addCenterLine ( TechDraw::BaseGeom 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::BaseGeom 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::BaseGeom bg)

◆ addFaceGeom()

void GeometryObject::addFaceGeom ( Face 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::Vertex 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 std::vector<BaseGeom *>& TechDraw::GeometryObject::getEdgeGeometry ( ) const

◆ getFaceGeometry()

const std::vector<Face *>& 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<Vertex *>& 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 
)

References getVertexGeometry(), and vertexGeom.

◆ setEdgeGeometry()

void TechDraw::GeometryObject::setEdgeGeometry ( std::vector< BaseGeom * >  newGeoms)

◆ setFocus()

◆ setIsoCount()

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

◆ setParentName()

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

◆ setVertexGeometry()

void TechDraw::GeometryObject::setVertexGeometry ( std::vector< Vertex * >  newVerts)

◆ usePolygonHLR() [1/2]

◆ usePolygonHLR() [2/2]

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

Member Data Documentation

◆ edgeGeom

std::vector<BaseGeom *> TechDraw::GeometryObject::edgeGeom
protected

◆ faceGeom

std::vector<Face *> 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<Vertex *> 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:
  • Sources/FreeCAD/src/Mod/TechDraw/App/GeometryObject.h
  • Sources/FreeCAD/src/Mod/TechDraw/App/GeometryObject.cpp