AttachExtensionh, .cpp contain a extension class to derive other features from, to make them attachable. More...
Classes | |
class | AttachEngineException |
class | AttachExtension |
The AttachableObject class is the thing to extend an object with that should be attachable. More... | |
class | BodyBase |
Base class of all body objects in FreeCAD A body is used, e.g. More... | |
class | Boolean |
class | BooleanException |
class | Box |
class | BRepBuilderAPI_RefineModel |
class | BRepFeatModule |
class | BRepOffsetAPI_MakeOffsetFix |
The BRepOffsetAPI_MakeOffsetFix class This class works around a limitation of the BRepOffsetAPI_MakeOffset which returns unexpected results when an input wire has set a placement and consists of a single edge only. More... | |
class | BRepOffsetAPIModule |
class | BSplineCurveBiArcs |
class | Chamfer |
class | ChFi2dModule |
class | Circle |
class | Common |
class | Compound |
class | Compound2 |
Same as Part::Compound, except it marks the Shape as transient, and rebuild it during restore. More... | |
class | Cone |
class | CrossSection |
class | CurveNet |
class | CustomFeature |
Base class of all custom feature classes which are almost used as base for python feature classes. More... | |
class | Cut |
struct | cutFaces |
Find all faces cut by a line through the centre of gravity of a given face Useful for the "up to face" options to pocket or pad. More... | |
class | Cylinder |
class | Datum |
class | Edgecluster |
struct | EdgePoints |
struct | Edgesort_gp_Pnt_Less |
class | Ellipse |
class | Ellipsoid |
class | Extrusion |
class | ExtrusionHelper |
class | Face |
class | FaceMaker |
FaceMaker class is the base class for implementing various "smart" face making routines. More... | |
class | FaceMakerBullseye |
The FaceMakerBullseye class is a tool to make planar faces with holes, where there can be additional faces inside holes and they can have holes too and so on. More... | |
class | FaceMakerCheese |
The FaceMakerCheese class is a legacy face maker that was extracted from Part Extrude. More... | |
class | FaceMakerExtrusion |
FaceMakerExtrusion provides legacy compounding-structure-ignorant behavior of facemaker of Part Extrude. More... | |
class | FaceMakerPublic |
The FaceMakerPublic class: derive from it if you want the face maker to be listed in tools that allow choosing one. More... | |
class | FaceMakerSimple |
The FaceMakerSimple class: make plane faces from all closed wires supplied, ignoring overlaps. More... | |
class | Feature |
Base class of all shape feature classes in FreeCAD. More... | |
class | FeatureExt |
Base class of all shape feature classes in FreeCAD. More... | |
class | FeatureGeometrySet |
class | FeatureReference |
Base class of all shape feature classes in FreeCAD. More... | |
class | Fillet |
class | FilletBase |
struct | FilletElement |
A property class to store hash codes and two radii for the fillet algorithm. More... | |
class | Fuse |
class | Geom2dArcOfCircle |
class | Geom2dArcOfConic |
class | Geom2dArcOfEllipse |
class | Geom2dArcOfHyperbola |
class | Geom2dArcOfParabola |
class | Geom2dBezierCurve |
class | Geom2dBSplineCurve |
class | Geom2dCircle |
class | Geom2dConic |
class | Geom2dCurve |
class | Geom2dEllipse |
class | Geom2dHyperbola |
class | Geom2dLine |
class | Geom2dLineSegment |
class | Geom2dModule |
class | Geom2dOffsetCurve |
class | Geom2dParabola |
class | Geom2dPoint |
class | Geom2dTrimmedCurve |
class | GeomArcOfCircle |
class | GeomArcOfConic |
class | GeomArcOfEllipse |
class | GeomArcOfHyperbola |
class | GeomArcOfParabola |
class | GeomBezierCurve |
class | GeomBezierSurface |
class | GeomBoundedCurve |
class | GeomBSplineCurve |
class | GeomBSplineSurface |
class | GeomCircle |
class | GeomCone |
class | GeomConic |
class | GeomCurve |
class | GeomCylinder |
class | GeomEllipse |
class | Geometry |
class | Geometry2d |
class | GeometryDefaultExtension |
class | GeometryExtension |
class | GeometryMigrationExtension |
class | GeometryPersistenceExtension |
class | GeomHyperbola |
class | GeomLine |
class | GeomLineSegment |
class | GeomOffsetCurve |
class | GeomOffsetSurface |
class | GeomParabola |
class | GeomPlane |
class | GeomPlateModule |
class | GeomPlateSurface |
class | GeomPoint |
class | GeomSphere |
class | GeomSurface |
class | GeomSurfaceOfExtrusion |
class | GeomSurfaceOfRevolution |
class | GeomToroid |
class | GeomTrimmedCurve |
class | GeomTrimmedSurface |
class | Helix |
class | HLRBRepModule |
class | ImportBrep |
class | ImportIges |
class | ImportStep |
class | Line |
class | Loft |
struct | MeshVertex |
class | Mirroring |
class | Module |
class | MultiCommon |
class | MultiFuse |
class | NullShapeException |
class | Offset |
class | Offset2D |
class | Part2DObject |
2D Shape This is a specialized version of the PartShape for use with flat (2D) geometry. More... | |
class | Plane |
class | Polygon |
class | Primitive |
class | Prism |
class | PrismExtension |
class | ProgressIndicator |
class | PropertyFilletEdges |
class | PropertyGeometryList |
class | PropertyPartShape |
The part shape property class. More... | |
class | PropertyShapeHistory |
class | Refine |
class | RegularPolygon |
class | Reverse |
class | Revolution |
class | RuledSurface |
class | Section |
class | ShapeFixModule |
struct | ShapeHistory |
class | ShapeSegment |
class | ShapeUpgradeModule |
class | Sphere |
class | Spiral |
class | Spline |
class | Sweep |
class | TangentialArc |
class | Thickness |
class | Tools |
class | TopoShape |
The representation for a CAD Shape. More... | |
class | Torus |
class | Vertex |
class | Wedge |
Typedefs | |
typedef App::ExtensionPythonT< AttachExtension > | AttachExtensionPython |
typedef App::FeaturePythonT< CustomFeature > | CustomFeaturePython |
typedef App::FeaturePythonT< Feature > | FeaturePython |
using | GeometryBoolExtension = GeometryDefaultExtension< bool > |
using | GeometryDoubleExtension = GeometryDefaultExtension< double > |
using | GeometryIntExtension = GeometryDefaultExtension< long > |
using | GeometryStringExtension = GeometryDefaultExtension< std::string > |
typedef App::FeaturePythonT< Part2DObject > | Part2DObjectPython |
typedef std::vector< std::vector< TopoDS_Edge > > | tEdgeClusterVector |
typedef std::vector< TopoDS_Edge > | tEdgeVector |
typedef std::map< gp_Pnt, tEdgeVector, Edgesort_gp_Pnt_Less > | tMapPntEdge |
typedef std::pair< gp_Pnt, tEdgeVector > | tMapPntEdgePair |
Functions | |
std::vector< std::string > | buildBOPCheckResultVector () |
std::vector< std::string > | buildShapeEnumVector () |
bool | checkIntersection (const TopoDS_Shape &first, const TopoDS_Shape &second, const bool quick, const bool touch_is_intersection) |
Check for intersection between the two shapes. More... | |
void | closestPointsOnLines (const gp_Lin &lin1, const gp_Lin &lin2, gp_Pnt &p1, gp_Pnt &p2) |
TopoDS_Edge | create3dCurve (const TopoDS_Edge &edge) |
GeomArcOfCircle * | createFilletGeometry (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, const Base::Vector3d ¢er, double radius) |
std::string | encodeFilename (std::string fn) |
bool | find2DLinesIntersection (const Base::Vector3d &orig1, const Base::Vector3d &dir1, const Base::Vector3d &orig2, const Base::Vector3d &dir2, Base::Vector3d &point) |
bool | find2DLinesIntersection (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, Base::Vector3d &point) |
std::vector< cutFaces > | findAllFacesCutBy (const TopoDS_Shape &shape, const TopoDS_Shape &face, const gp_Dir &dir) |
bool | findFilletCenter (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, double radius, Base::Vector3d ¢er) |
bool | findFilletCenter (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, double radius, const Base::Vector3d &refPnt1, const Base::Vector3d &refPnt2, Base::Vector3d ¢er) |
std::vector< TopoShape > | getPyShapes (PyObject *obj) |
void | getPyShapes (PyObject *obj, std::vector< TopoShape > &shapes) |
int | ImportIgesParts (App::Document *pcDoc, const char *Name) |
int | ImportStepParts (App::Document *pcDoc, const char *Name) |
The part shape property. More... | |
PyObject * | initModule () |
bool | intersect (const gp_Pln &pln1, const gp_Pln &pln2, gp_Lin &lin) |
std::unique_ptr< GeomCurve > | makeFromCurve (const Handle(Geom_Curve)&c) |
std::unique_ptr< Geom2dCurve > | makeFromCurve2d (Handle(Geom2d_Curve) curve) |
std::unique_ptr< GeomCurve > | makeFromCurveAdaptor (const Adaptor3d_Curve &adapt) |
std::unique_ptr< Geom2dCurve > | makeFromCurveAdaptor2d (const Adaptor2d_Curve2d &adapt) |
std::unique_ptr< GeomSurface > | makeFromSurface (const Handle(Geom_Surface)&s) |
std::unique_ptr< GeomCurve > | makeFromTrimmedCurve (const Handle(Geom_Curve)&c, double f, double l) |
std::unique_ptr< Geom2dCurve > | makeFromTrimmedCurve2d (const Handle(Geom2d_Curve)&c, double f, double l) |
const Py::Object | makeGeometryCurvePy (const Handle(Geom_Curve)&c) |
const Py::Object | makeTrimmedCurvePy (const Handle(Geom_Curve)&c, double f, double l) |
const std::map< PyTypeObject *, TopAbs_ShapeEnum > | mapTypeShape (vecTypeShape.begin(), vecTypeShape.end()) |
bool | ReadColors (const Handle(XSControl_WorkSession) &WS, std::map< int, Quantity_Color > &hash_col) |
bool | ReadNames (const Handle(XSControl_WorkSession) &WS) |
Py::Object | shape2pyshape (const TopoDS_Shape &shape) |
Py::Object | shape2pyshape (const TopoShape &shape) |
static TopAbs_ShapeEnum | ShapeTypeFromPyType (PyTypeObject *pyType) |
std::list< TopoDS_Edge > | sort_Edges (double tol3d, std::list< TopoDS_Edge > &edges) |
double | suggestFilletRadius (const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, const Base::Vector3d &refPnt1, const Base::Vector3d &refPnt2) |
std::list< std::string > | supportedSTEPSchemes () |
bool | tangentialArc (const gp_Pnt &p0, const gp_Vec &v0, const gp_Pnt &p1, gp_Pnt &c, gp_Dir &axis) |
Variables | |
const App::PropertyQuantityConstraint::Constraints | angleRangeU = {0.0, 360.0, 1.0} |
const App::PropertyQuantityConstraint::Constraints | angleRangeV = {-90.0, 90.0, 1.0} |
const App::PropertyQuantityConstraint::Constraints | apexRange = {-90.0, 90.0, 0.1} |
PyObject * | PartExceptionOCCConstructionError |
PyObject * | PartExceptionOCCDimensionError |
PyObject * | PartExceptionOCCDomainError |
PyObject * | PartExceptionOCCError |
PyObject * | PartExceptionOCCRangeError |
const App::PropertyQuantityConstraint::Constraints | quantityRange = {0.0, FLT_MAX, 0.1} |
const App::PropertyQuantityConstraint::Constraints | torusRangeV = {-180.0, 180.0, 1.0} |
const std::vector< std::pair< PyTypeObject *, TopAbs_ShapeEnum > > | vecTypeShape |
AttachExtensionh, .cpp contain a extension class to derive other features from, to make them attachable.
using Part::GeometryBoolExtension = typedef GeometryDefaultExtension<bool> |
using Part::GeometryDoubleExtension = typedef GeometryDefaultExtension<double> |
using Part::GeometryIntExtension = typedef GeometryDefaultExtension<long> |
using Part::GeometryStringExtension = typedef GeometryDefaultExtension<std::string> |
typedef std::vector<std::vector<TopoDS_Edge> > Part::tEdgeClusterVector |
typedef std::vector<TopoDS_Edge> Part::tEdgeVector |
typedef std::map<gp_Pnt,tEdgeVector,Edgesort_gp_Pnt_Less> Part::tMapPntEdge |
typedef std::pair<gp_Pnt,tEdgeVector> Part::tMapPntEdgePair |
std::vector< std::string > Part::buildBOPCheckResultVector | ( | ) |
Referenced by Part::TopoShape::analyze().
std::vector< std::string > Part::buildShapeEnumVector | ( | ) |
Referenced by Part::TopoShape::analyze().
bool Part::checkIntersection | ( | const TopoDS_Shape & | first, |
const TopoDS_Shape & | second, | ||
const bool | quick, | ||
const bool | touch_is_intersection | ||
) |
Check for intersection between the two shapes.
Only solids are guaranteed to work properly There are two modes:
void Part::closestPointsOnLines | ( | const gp_Lin & | lin1, |
const gp_Lin & | lin2, | ||
gp_Pnt & | p1, | ||
gp_Pnt & | p2 | ||
) |
References draftgeoutils.general::v1().
Referenced by tangentialArc().
TopoDS_Edge Part::create3dCurve | ( | const TopoDS_Edge & | edge | ) |
GeomArcOfCircle * Part::createFilletGeometry | ( | const GeomLineSegment * | lineSeg1, |
const GeomLineSegment * | lineSeg2, | ||
const Base::Vector3d & | center, | ||
double | radius | ||
) |
std::string Part::encodeFilename | ( | std::string | fn | ) |
bool Part::find2DLinesIntersection | ( | const Base::Vector3d & | orig1, |
const Base::Vector3d & | dir1, | ||
const Base::Vector3d & | orig2, | ||
const Base::Vector3d & | dir2, | ||
Base::Vector3d & | point | ||
) |
References Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
Referenced by createFilletGeometry(), find2DLinesIntersection(), findFilletCenter(), and suggestFilletRadius().
bool Part::find2DLinesIntersection | ( | const GeomLineSegment * | lineSeg1, |
const GeomLineSegment * | lineSeg2, | ||
Base::Vector3d & | point | ||
) |
std::vector< Part::cutFaces > Part::findAllFacesCutBy | ( | const TopoDS_Shape & | shape, |
const TopoDS_Shape & | face, | ||
const gp_Dir & | dir | ||
) |
References Part::cutFaces::distsq, and Part::cutFaces::face.
Referenced by PartDesign::ProfileBased::getUpToFace().
bool Part::findFilletCenter | ( | const GeomLineSegment * | lineSeg1, |
const GeomLineSegment * | lineSeg2, | ||
double | radius, | ||
Base::Vector3d & | center | ||
) |
References findFilletCenter(), Part::GeomLineSegment::getEndPoint(), and Part::GeomLineSegment::getStartPoint().
Referenced by Sketcher::SketchObject::fillet(), and findFilletCenter().
bool Part::findFilletCenter | ( | const GeomLineSegment * | lineSeg1, |
const GeomLineSegment * | lineSeg2, | ||
double | radius, | ||
const Base::Vector3d & | refPnt1, | ||
const Base::Vector3d & | refPnt2, | ||
Base::Vector3d & | center | ||
) |
References getPyShapes().
Referenced by getPyShapes().
int Part::ImportIgesParts | ( | App::Document * | pcDoc, |
const char * | Name | ||
) |
int Part::ImportStepParts | ( | App::Document * | pcDoc, |
const char * | Name | ||
) |
The part shape property.
References App::Document::addObject(), Base::Console(), encodeFilename(), Base::FileInfo::exists(), Base::FileInfo::fileNamePure(), Part::Feature::getPyObject(), Base::ConsoleSingleton::Log(), Part::PropertyPartShape::setValue(), and Part::Feature::Shape.
PyObject * Part::initModule | ( | ) |
References Base::InterpreterSingleton::addModule(), and Base::Interpreter().
bool Part::intersect | ( | const gp_Pln & | pln1, |
const gp_Pln & | pln2, | ||
gp_Lin & | lin | ||
) |
Referenced by tangentialArc().
std::unique_ptr< GeomCurve > Part::makeFromCurve | ( | const Handle(Geom_Curve)& | c | ) |
References makeFromTrimmedCurve().
Referenced by makeGeometryCurvePy().
std::unique_ptr< Geom2dCurve > Part::makeFromCurve2d | ( | Handle(Geom2d_Curve) | curve | ) |
std::unique_ptr< GeomCurve > Part::makeFromCurveAdaptor | ( | const Adaptor3d_Curve & | adapt | ) |
References makeFromTrimmedCurve().
std::unique_ptr< Geom2dCurve > Part::makeFromCurveAdaptor2d | ( | const Adaptor2d_Curve2d & | adapt | ) |
References makeFromTrimmedCurve2d().
std::unique_ptr< GeomSurface > Part::makeFromSurface | ( | const Handle(Geom_Surface)& | s | ) |
std::unique_ptr< GeomCurve > Part::makeFromTrimmedCurve | ( | const Handle(Geom_Curve)& | c, |
double | f, | ||
double | l | ||
) |
References makeFromTrimmedCurve().
Referenced by makeFromCurve(), makeFromCurveAdaptor(), makeFromTrimmedCurve(), and makeTrimmedCurvePy().
std::unique_ptr< Geom2dCurve > Part::makeFromTrimmedCurve2d | ( | const Handle(Geom2d_Curve)& | c, |
double | f, | ||
double | l | ||
) |
References makeFromTrimmedCurve2d().
Referenced by makeFromCurveAdaptor2d(), and makeFromTrimmedCurve2d().
const Py::Object Part::makeGeometryCurvePy | ( | const Handle(Geom_Curve)& | c | ) |
References makeFromCurve().
const Py::Object Part::makeTrimmedCurvePy | ( | const Handle(Geom_Curve)& | c, |
double | f, | ||
double | l | ||
) |
References makeFromTrimmedCurve().
const std::map< PyTypeObject *, TopAbs_ShapeEnum > Part::mapTypeShape | ( | vecTypeShape. | begin(), |
vecTypeShape. | end() | ||
) |
bool Part::ReadColors | ( | const Handle(XSControl_WorkSession) & | WS, |
std::map< int, Quantity_Color > & | hash_col | ||
) |
bool Part::ReadNames | ( | const Handle(XSControl_WorkSession) & | WS | ) |
Py::Object Part::shape2pyshape | ( | const TopoDS_Shape & | shape | ) |
Py::Object Part::shape2pyshape | ( | const TopoShape & | shape | ) |
|
static |
References vecTypeShape.
std::list< TopoDS_Edge > Part::sort_Edges | ( | double | tol3d, |
std::list< TopoDS_Edge > & | edges | ||
) |
References Part::EdgePoints::edge, Part::EdgePoints::it, Part::EdgePoints::v1, and Part::EdgePoints::v2.
double Part::suggestFilletRadius | ( | const GeomLineSegment * | lineSeg1, |
const GeomLineSegment * | lineSeg2, | ||
const Base::Vector3d & | refPnt1, | ||
const Base::Vector3d & | refPnt2 | ||
) |
References find2DLinesIntersection(), Part::GeomLineSegment::getEndPoint(), Part::GeomLineSegment::getStartPoint(), Base::Vector3< _Precision >::Normalize(), Base::Vector3< _Precision >::ProjectToLine(), Base::Vector3< _Precision >::x, and Base::Vector3< _Precision >::y.
Referenced by SketcherGui::DrawSketchHandlerFillet::releaseButton().
std::list< std::string > Part::supportedSTEPSchemes | ( | ) |
bool Part::tangentialArc | ( | const gp_Pnt & | p0, |
const gp_Vec & | v0, | ||
const gp_Pnt & | p1, | ||
gp_Pnt & | c, | ||
gp_Dir & | axis | ||
) |
References closestPointsOnLines(), intersect(), and draftgeoutils.general::v1().
Referenced by Part::TangentialArc::TangentialArc().
const App::PropertyQuantityConstraint::Constraints Part::angleRangeU = {0.0, 360.0, 1.0} |
const App::PropertyQuantityConstraint::Constraints Part::angleRangeV = {-90.0, 90.0, 1.0} |
Referenced by Part::Ellipsoid::Ellipsoid(), and Part::Sphere::Sphere().
const App::PropertyQuantityConstraint::Constraints Part::apexRange = {-90.0, 90.0, 0.1} |
Referenced by Part::Helix::Helix().
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
const App::PropertyQuantityConstraint::Constraints Part::quantityRange = {0.0, FLT_MAX, 0.1} |
const App::PropertyQuantityConstraint::Constraints Part::torusRangeV = {-180.0, 180.0, 1.0} |
Referenced by Part::Torus::Torus().
const std::vector<std::pair<PyTypeObject*, TopAbs_ShapeEnum> > Part::vecTypeShape |
Referenced by ShapeTypeFromPyType().