TechDraw Namespace Reference

HatchLine - Classes related to processing PAT files. More...

Classes

struct  anglePoints
 
class  AOC
 
class  AOE
 
struct  arcPoints
 
class  ArrowPropEnum
 
class  BaseGeom
 
class  BezierSegment
 
class  BSpline
 
class  CenterLine
 
class  Circle
 
class  CosmeticEdge
 
class  CosmeticExtension
 
class  CosmeticVertex
 
class  DashSpec
 
struct  DimRef
 
class  DrawDimHelper
 Additional functions for working with Dimensions. More...
 
class  DrawGeomHatch
 
class  DrawHatch
 
class  DrawLeaderLine
 
class  DrawPage
 
class  DrawParametricTemplate
 
class  DrawProjectSplit
 
class  DrawProjGroup
 Class super-container for managing a collection of DrawProjGroupItem Page Features. More...
 
class  DrawProjGroupItem
 
class  DrawRichAnno
 
class  DrawSVGTemplate
 
class  DrawTemplate
 
class  DrawTile
 
class  DrawTileWeld
 
class  DrawUtil
 Convenient utility functions for TechDraw Module. More...
 
class  DrawView
 Base class of all View Features in the drawing module. More...
 
class  DrawViewAnnotation
 
class  DrawViewArch
 
class  DrawViewBalloon
 
class  DrawViewClip
 
class  DrawViewCollection
 Base class for collection of view objects. More...
 
class  DrawViewDetail
 
class  DrawViewDimension
 
class  DrawViewDimExtent
 
class  DrawViewDraft
 
class  DrawViewImage
 
class  DrawViewMulti
 Base class of all View Features in the drawing module. More...
 
class  DrawViewPart
 
class  DrawViewSection
 
class  DrawViewSpreadsheet
 
class  DrawViewSymbol
 
class  DrawWeldSymbol
 
class  DXFOutput
 
class  edgeSortItem
 
class  edgeVisitor
 
class  EdgeWalker
 
class  Ellipse
 
class  embedItem
 
class  ewWire
 
class  ewWireList
 
class  Face
 Simple Collection of geometric features based on BaseGeom inherited classes in order. More...
 
class  FeatureProjection
 Base class of all View Features in the drawing module. More...
 
class  Generic
 
class  GeometryObject
 
class  GeometryUtils
 Encapsulates some useful static methods. More...
 
class  GeomFormat
 
class  hTrimCurve
 
class  incidenceItem
 
class  LandmarkDimension
 
class  LineFormat
 
class  LineGroup
 
class  LineSet
 a LineSet is all the generated edges for 1 PATLineSpec for 1 Face More...
 
class  Module
 
class  PATLineSpec
 PATLineSpec is the result of parsing a singleline from PAT file into accessible parameters. More...
 
class  Preferences
 
class  ProjectionAlgos
 Algo class for projecting shapes and creating SVG output of it. More...
 
class  PropertyCenterLineList
 
class  PropertyCosmeticEdgeList
 
class  PropertyCosmeticVertexList
 
class  PropertyGeomFormatList
 
class  ShapeExtractor
 
struct  splitPoint
 
class  SVGOutput
 
class  TechDrawOutput
 
class  Vertex
 
class  WalkerEdge
 
class  Wire
 Simple Collection of geometric features based on BaseGeom inherited classes in order. More...
 

Typedefs

using AOCPtr = std::shared_ptr< AOC >
 
using AOEPtr = std::shared_ptr< AOE >
 
using BaseGeomPtr = std::shared_ptr< BaseGeom >
 
using BaseGeomPtrVector = std::vector< BaseGeomPtr >
 
using BezierSegmentPtr = std::shared_ptr< BezierSegment >
 
using BSplinePtr = std::shared_ptr< BSpline >
 
using CirclePtr = std::shared_ptr< Circle >
 
typedef App::ExtensionPythonT< CosmeticExtensionCosmeticExtensionPython
 
typedef App::FeaturePythonT< DrawGeomHatchDrawGeomHatchPython
 
typedef App::FeaturePythonT< DrawHatchDrawHatchPython
 
typedef App::FeaturePythonT< DrawLeaderLineDrawLeaderLinePython
 
typedef App::FeaturePythonT< DrawPageDrawPagePython
 
typedef App::FeaturePythonT< DrawParametricTemplateDrawParametricTemplatePython
 
typedef App::FeaturePythonT< DrawProjectSplitDrawProjectSplitPython
 
typedef App::FeaturePythonT< DrawRichAnnoDrawRichAnnoPython
 
typedef App::FeaturePythonT< DrawSVGTemplateDrawSVGTemplatePython
 
typedef App::FeaturePythonT< DrawTemplateDrawTemplatePython
 
typedef App::FeaturePythonT< DrawTileDrawTilePython
 
typedef App::FeaturePythonT< DrawTileWeldDrawTileWeldPython
 
typedef App::FeaturePythonT< DrawViewAnnotationDrawViewAnnotationPython
 
typedef App::FeaturePythonT< DrawViewClipDrawViewClipPython
 
typedef App::FeaturePythonT< DrawViewDetailDrawViewDetailPython
 
typedef App::FeaturePythonT< DrawViewDraftDrawViewDraftPython
 
typedef App::FeaturePythonT< DrawViewImageDrawViewImagePython
 
typedef App::FeaturePythonT< DrawViewMultiDrawViewMultiPython
 
typedef App::FeaturePythonT< DrawViewPartDrawViewPartPython
 
typedef App::FeaturePythonT< DrawViewDrawViewPython
 
typedef App::FeaturePythonT< DrawViewSectionDrawViewSectionPython
 
typedef App::FeaturePythonT< DrawViewSpreadsheetDrawViewSpreadsheetPython
 
typedef App::FeaturePythonT< DrawViewSymbolDrawViewSymbolPython
 
typedef App::FeaturePythonT< DrawWeldSymbolDrawWeldSymbolPython
 
typedef boost::graph_traits< graph >::edge_descriptor edge_t
 
using EllipsePtr = std::shared_ptr< Ellipse >
 
using FacePtr = std::shared_ptr< Face >
 
using GenericPtr = std::shared_ptr< Generic >
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, boost::property< boost::vertex_index_t, int >, boost::property< boost::edge_index_t, int > > graph
 
typedef std::vector< std::vector< edge_t > > planar_embedding_storage_t
 
typedef boost::iterator_property_map< planar_embedding_storage_t::iterator, boost::property_map< graph, boost::vertex_index_t >::type > planar_embedding_t
 
typedef std::pair< Base::Vector3d, Base::Vector3dpointPair
 
typedef boost::graph_traits< graph >::vertex_descriptor vertex_t
 
using VertexPtr = std::shared_ptr< Vertex >
 

Enumerations

enum  ArrowType {
  FILLED_ARROW = 0 , OPEN_ARROW , TICK , DOT ,
  OPEN_CIRCLE , FORK , FILLED_TRIANGLE , NONE
}
 
enum  edgeClass {
  ecNONE , ecUVISO , ecOUTLINE , ecSMOOTH ,
  ecSEAM , ecHARD
}
 
enum  ExtractionType { Plain , WithHidden , WithSmooth }
 
enum  GeomType {
  NOTDEF , CIRCLE , ARCOFCIRCLE , ELLIPSE ,
  ARCOFELLIPSE , BEZIER , BSPLINE , GENERIC
}
 
enum  ProjItemType {
  Front , Left , Right , Rear ,
  Top , Bottom , FrontTopLeft , FrontTopRight ,
  FrontBottomLeft , FrontBottomRight
}
 
enum  SourceType { GEOM , COSEDGE , CENTERLINE }
 

Functions

template<typename OutputIt >
void copy (Py::Dict sourceRange, OutputIt targetIt)
 Copies a Python dictionary of Python strings to a C++ container. More...
 
gp_Pnt TechDrawExport findCentroid (const TopoDS_Shape &shape, const Base::Vector3d &direction)
 Returns the centroid of shape, as viewed according to direction. More...
 
gp_Pnt TechDrawExport findCentroid (const TopoDS_Shape &shape, const gp_Ax2 &viewAxis)
 Returns the centroid of shape, as viewed according to direction. More...
 
Base::Vector3d TechDrawExport findCentroidVec (const TopoDS_Shape &shape, const Base::Vector3d &direction)
 
Base::Vector3d TechDrawExport findCentroidVec (const TopoDS_Shape &shape, const gp_Ax2 &cs)
 
gp_Ax2 TechDrawExport getViewAxis (const Base::Vector3d origin, const Base::Vector3d &direction, const Base::Vector3d &xAxis, const bool flip=true)
 gets a coordinate system specified by Z and X directions More...
 
gp_Ax2 TechDrawExport getViewAxis (const Base::Vector3d origin, const Base::Vector3d &direction, const bool flip=true)
 utility non-class member functions gets a coordinate system that matches view system used in 3D with +Z up (or +Y up if necessary) used for individual views, but not secondary views in projection groups flip determines Y mirror or not. More...
 
PyObjectinitModule ()
 
gp_Ax2 TechDrawExport legacyViewAxis1 (const Base::Vector3d origin, const Base::Vector3d &direction, const bool flip=true)
 
TopoDS_Shape TechDrawExport mirrorShape (const TopoDS_Shape &input, const gp_Pnt &inputCenter=gp_Pnt(0.0, 0.0, 0.0), double scale=1.0)
 
TopoDS_Shape TechDrawExport mirrorShapeVec (const TopoDS_Shape &input, const Base::Vector3d &inputCenter=Base::Vector3d(0.0, 0.0, 0.0), double scale=1.0)
 scales & mirrors a shape about a center More...
 
TopoDS_Shape TechDrawExport moveShape (const TopoDS_Shape &input, const Base::Vector3d &motion)
 moves a shape More...
 
TopoDS_Shape TechDrawExport rotateShape (const TopoDS_Shape &input, gp_Ax2 &viewAxis, double rotAngle)
 rotates a shape about a viewAxis More...
 
TopoDS_Shape TechDrawExport scaleShape (const TopoDS_Shape &input, double scale)
 scales a shape about origin More...
 

Detailed Description

HatchLine - Classes related to processing PAT files.

LineGroup - Classes related to processing LineGroup definition CSV files.

Typedef Documentation

◆ AOCPtr

using TechDraw::AOCPtr = typedef std::shared_ptr<AOC>

◆ AOEPtr

using TechDraw::AOEPtr = typedef std::shared_ptr<AOE>

◆ BaseGeomPtr

using TechDraw::BaseGeomPtr = typedef std::shared_ptr<BaseGeom>

◆ BaseGeomPtrVector

using TechDraw::BaseGeomPtrVector = typedef std::vector<BaseGeomPtr>

◆ BezierSegmentPtr

using TechDraw::BezierSegmentPtr = typedef std::shared_ptr<BezierSegment>

◆ BSplinePtr

using TechDraw::BSplinePtr = typedef std::shared_ptr<BSpline>

◆ CirclePtr

using TechDraw::CirclePtr = typedef std::shared_ptr<Circle>

◆ CosmeticExtensionPython

◆ DrawGeomHatchPython

◆ DrawHatchPython

◆ DrawLeaderLinePython

◆ DrawPagePython

◆ DrawParametricTemplatePython

◆ DrawProjectSplitPython

◆ DrawRichAnnoPython

◆ DrawSVGTemplatePython

◆ DrawTemplatePython

◆ DrawTilePython

◆ DrawTileWeldPython

◆ DrawViewAnnotationPython

◆ DrawViewClipPython

◆ DrawViewDetailPython

◆ DrawViewDraftPython

◆ DrawViewImagePython

◆ DrawViewMultiPython

◆ DrawViewPartPython

◆ DrawViewPython

◆ DrawViewSectionPython

◆ DrawViewSpreadsheetPython

◆ DrawViewSymbolPython

◆ DrawWeldSymbolPython

◆ edge_t

typedef boost::graph_traits<graph>::edge_descriptor TechDraw::edge_t

◆ EllipsePtr

using TechDraw::EllipsePtr = typedef std::shared_ptr<Ellipse>

◆ FacePtr

using TechDraw::FacePtr = typedef std::shared_ptr<Face>

◆ GenericPtr

using TechDraw::GenericPtr = typedef std::shared_ptr<Generic>

◆ graph

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, boost::property<boost::vertex_index_t, int>, boost::property<boost::edge_index_t, int> > TechDraw::graph

◆ planar_embedding_storage_t

typedef std::vector< std::vector<edge_t> > TechDraw::planar_embedding_storage_t

◆ planar_embedding_t

typedef boost::iterator_property_map< planar_embedding_storage_t::iterator, boost::property_map<graph, boost::vertex_index_t>::type > TechDraw::planar_embedding_t

◆ pointPair

◆ vertex_t

typedef boost::graph_traits<graph>::vertex_descriptor TechDraw::vertex_t

◆ VertexPtr

using TechDraw::VertexPtr = typedef std::shared_ptr<Vertex>

Enumeration Type Documentation

◆ ArrowType

Enumerator
FILLED_ARROW 
OPEN_ARROW 
TICK 
DOT 
OPEN_CIRCLE 
FORK 
FILLED_TRIANGLE 
NONE 

◆ edgeClass

Enumerator
ecNONE 
ecUVISO 
ecOUTLINE 
ecSMOOTH 
ecSEAM 
ecHARD 

◆ ExtractionType

Enumerator
Plain 
WithHidden 
WithSmooth 

◆ GeomType

Enumerator
NOTDEF 
CIRCLE 
ARCOFCIRCLE 
ELLIPSE 
ARCOFELLIPSE 
BEZIER 
BSPLINE 
GENERIC 

◆ ProjItemType

Enumerator
Front 
Left 
Right 
Rear 
Top 
Bottom 
FrontTopLeft 
FrontTopRight 
FrontBottomLeft 
FrontBottomRight 

◆ SourceType

Enumerator
GEOM 
COSEDGE 
CENTERLINE 

Function Documentation

◆ copy()

template<typename OutputIt >
void TechDraw::copy ( Py::Dict  sourceRange,
OutputIt  targetIt 
)

Copies a Python dictionary of Python strings to a C++ container.

After the function call, the key-value pairs of the Python dictionary are copied into the target buffer as C++ pairs (pair<string, string>).

Parameters
sourceRangeis a Python dictionary (Py::Dict). Both, the keys and the values must be Python strings.
targetItrefers to where the data should be inserted. Must be of concept output iterator.

◆ findCentroid() [1/2]

gp_Pnt TechDraw::findCentroid ( const TopoDS_Shape &  shape,
const Base::Vector3d direction 
)

◆ findCentroid() [2/2]

gp_Pnt TechDraw::findCentroid ( const TopoDS_Shape &  shape,
const gp_Ax2 &  viewAxis 
)

Returns the centroid of shape, as viewed according to direction.

◆ findCentroidVec() [1/2]

Base::Vector3d TechDraw::findCentroidVec ( const TopoDS_Shape &  shape,
const Base::Vector3d direction 
)

◆ findCentroidVec() [2/2]

Base::Vector3d TechDraw::findCentroidVec ( const TopoDS_Shape &  shape,
const gp_Ax2 &  cs 
)

References findCentroid().

◆ getViewAxis() [1/2]

gp_Ax2 TechDraw::getViewAxis ( const Base::Vector3d  origin,
const Base::Vector3d direction,
const Base::Vector3d xAxis,
const bool  flip = true 
)

gets a coordinate system specified by Z and X directions

References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.

◆ getViewAxis() [2/2]

gp_Ax2 TechDraw::getViewAxis ( const Base::Vector3d  origin,
const Base::Vector3d direction,
const bool  flip = true 
)

utility non-class member functions gets a coordinate system that matches view system used in 3D with +Z up (or +Y up if necessary) used for individual views, but not secondary views in projection groups flip determines Y mirror or not.

References TechDraw::DrawUtil::checkParallel(), Base::Vector3< _Precision >::Cross(), Base::Vector3< _Precision >::IsEqual(), Base::Vector3< _Precision >::Normalize(), Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.

Referenced by findCentroid(), and TechDraw::DrawProjGroupItem::getViewAxis().

◆ initModule()

PyObject * TechDraw::initModule ( )

◆ legacyViewAxis1()

◆ mirrorShape()

TopoDS_Shape TechDraw::mirrorShape ( const TopoDS_Shape &  input,
const gp_Pnt &  inputCenter = gp_Pnt(0.0,0.0,0.0),
double  scale = 1.0 
)

◆ mirrorShapeVec()

TopoDS_Shape TechDraw::mirrorShapeVec ( const TopoDS_Shape &  input,
const Base::Vector3d inputCenter = Base::Vector3d(0.0, 0.0, 0.0),
double  scale = 1.0 
)

◆ moveShape()

◆ rotateShape()

TopoDS_Shape TechDraw::rotateShape ( const TopoDS_Shape &  input,
gp_Ax2 &  viewAxis,
double  rotAngle 
)

◆ scaleShape()