BIMHome v1.0.0
BIMHome接�文档说明
Public �员函数 | �� Public �员函数 | 所有�员列表
CurveFactory类 �考

#include <CurveFactory.h>

Public �员函数

void updateSpaceCircleParameters (App::IDocumentObject *pObj, const Base::Vector3d &center, const Base::Vector3d &axis, double radius)
 ¸üпռäÔ²²ÎÊý
 

�� Public �员函数

static App::IDocumentObject * createArcofCircle (const Base::ArcofCircle &arcofcircle, const std::string &objName="ArcofCircle", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸öÔ²»¡
 
static App::IDocumentObject * createArcofCircle2D (const Base::ArcofCircle2D &arcofcircle2d, const std::string &objName="ArcofCircle2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2DÔ²»¡
 
static App::IDocumentObject * createBSpline (const Base::BSplineCurve &BSpline, const std::string &objName="BSpline", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸öBÑùÌõÇúÏß
 
static App::IDocumentObject * createBSpline2D (const Base::BSplineCurve2D &BSpline2d, const std::string &objName="BSpline2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2D BÑùÌõÇúÏß
 
static App::IDocumentObject * createCircle (const Base::Circle &circle, const std::string &objName="Circle", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸öÔ²
 
static App::IDocumentObject * createCircle2D (const Base::Circle2D &circle2d, const std::string &objName="Circle2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2DÔ²
 
static App::IDocumentObject * createCirle (App::IDocument *pDoc, App::IDocumentObject *pObj1, const std::string &obj1Name, App::IDocumentObject *pObj2, const std::string &obj2Name, App::IDocumentObject *pObj3, const std::string &obj3Name, const int &type, const int &radius, bool isArc, const int &angleStart, const int &angleEnd, const std::string &objName="Circle")
 Ô²»òÔ²»¡´´½¨
 
static App::IDocumentObject * createCurveBridging (App::IDocument *pDoc, App::IDocumentObject *pObj1, const std::string &obj1Name, App::IDocumentObject *pObj2, const std::string &obj2Name, App::IDocumentObject *pObj3, const std::string &obj3Name, App::IDocumentObject *pObj4, const std::string &obj4Name, const int &type, const std::string &objName="CurveBridging")
 ÇúÏßÇŽÓ
 
static App::IDocumentObject * createEllipse (const Base::Ellipse &Ellipse, const std::string &objName="Ellipse", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸öÍÖÔ²
 
static App::IDocumentObject * createEllipse2D (const Base::Ellipse2D &Ellipse2D, const std::string &objName="Ellipse2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2DÍÖÔ²
 
static App::IDocumentObject * createHelixCurve (App::IDocument *pDoc, App::IDocumentObject *centerVertexSourceObject, const std::string &centerVertexName, App::IDocumentObject *directionVertexSourceObject, const std::string &directionVertexName, const double raidus, const double helixSeparationDistance, const double helixHeight, const std::string &direction, const std::string &objName="HelixCurve")
 ÂÝÐýÏß
 
static App::IDocumentObject * createHyperbola (const Base::Hyperbola &Hyperbola, const std::string &objName="Hyperbola", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»ÌõË«ÇúÏß
 
static App::IDocumentObject * createHyperbola2D (const Base::Hyperbola2D &Hyperbola2d, const std::string &objName="Hyperbola2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»Ìõ2DË«ÇúÏß
 
static App::IDocumentObject * createLine (const Base::Line &line, const std::string &objName="Line", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸öÖ±Ïß
 
static App::IDocumentObject * createLine2D (const Base::Line2D &line2d, const std::string &objName="Line2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2DÖ±Ïß
 
static App::IDocumentObject * createLineSegment (const Base::LineSegment &linesegment, const std::string &objName="LineSegment", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸öÖ±Ïß¶Î
 
static App::IDocumentObject * createLineSegment2D (const Base::LineSegment2D &linesegment2d, const std::string &objName="LineSegment2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2DÖ±Ïß¶Î
 
static App::IDocumentObject * createParabola (const Base::Parabola &Parabola, const std::string &objName="Parabola", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»ÌõÅ×ÎïÏß
 
static App::IDocumentObject * createParabola2D (const Base::Parabola2D &Parabola2d, const std::string &objName="Parabola2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»Ìõ2DÅ×ÎïÏß
 
static App::IDocumentObject * createPolygon (const Base::Circle &circle, const double &edgenum, const std::string &objName="Polygon", App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö¶à±ßÐÎ
 
static App::IDocumentObject * createPolyLine (const Base::PolyLine &polyLine, const std::string &objName="PolyLine", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö¶àÏß¶Î
 
static App::IDocumentObject * createPolyLine2D (const Base::PolyLine2D &polyLine2d, const std::string &objName="PolyLine2D", const Base::Placement &placement=Base::Placement(), App::IDocument *pParentDoc=nullptr)
 Éú³ÉÒ»¸ö2D¶àÏß¶Î
 
static App::IDocumentObject * CreateSpaceApproximateBSpline (const std::vector< Base::Vector3d > &listPoint, int nDegMin, int nDegMax, int nContinuity, const std::string &objName="SpaceApproximateBSpline", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉBSplineÇúÏß(ÄâºÏ·¨)
 
static App::IDocumentObject * CreateSpaceArc (const Base::Vector3d &centerPt, const Base::Vector3d &normal, double radius, double startAngle, double endAngle, const std::string &objName="SpaceCircleArc", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³É»¡(Ô²ÐÄ-°ë¾¶-ÆðʼÖÕÖ¹½Ç¶È)
 
static App::IDocumentObject * CreateSpaceArc (const Base::Vector3d &centerPt, const Base::Vector3d &startPt, const Base::Vector3d &lastPt, bool bReverse=false, const std::string &objName="SpaceCircleArc", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³É»¡(Ô²ÐÄ-Æðʼµã-½Ç¶È(Ô²ÐÄÓëlastPtÁ¬Ïß)
 
static App::IDocumentObject * CreateSpaceArc (const Base::Vector3d &startPt, const Base::Vector3d &middlePt, const Base::Vector3d &endPt, const std::string &objName="SpaceCircleArc", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³É»¡£¨ÈýµãÔÚÔ²»¡ÉÏ£©
 
static App::IDocumentObject * createSpaceCircle (const Base::Vector3d &center, const Base::Vector3d &axis, const double radius, const std::string &objName="SpaceCircle", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³É¿Õ¼äÔ²
 
static App::IDocumentObject * createSpaceEllipse (const Base::Vector3d &center, const Base::Vector3d &xDir, const Base::Vector3d &yDir, const double wRadius, const double lRadius, const std::string &objName="SpaceEllipse", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 ´´½¨¿Õ¼äÍÖÔ²
 
static App::IDocumentObject * CreateSpaceEllipseArc (double fMajorRadius, double fMinorRadius, const Base::Vector3d &oXDir, const Base::Vector3d &oZDir, const Base::Vector3d &oCenter, const Base::Vector3d &oStartPoint, const Base::Vector3d &oEndPoint, const std::string &objName="SpaceEllipseArc", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉÍÖÔ²»¡(ÍÖÔ²-Æðʼµã-ÖÕÖ¹µã)
 
static App::IDocumentObject * CreateSpaceEllipseArc (double fMajorRadius, double fMinorRadius, const Base::Vector3d &oXDir, const Base::Vector3d &oZDir, const Base::Vector3d &oCenter, const Base::Vector3d &oStartPoint, double fSpan, const std::string &objName="SpaceEllipseArc", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉÍÖÔ²»¡(ÍÖÔ²-Æðʼµã-¿ç¶È)
 
static App::IDocumentObject * CreateSpaceEllipseArc (double fMajorRadius, double fMinorRadius, const Base::Vector3d &oXDir, const Base::Vector3d &oZDir, const Base::Vector3d &oCenter, double fStartAngle, double fEndAngle, const std::string &objName="SpaceEllipseArc", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉÍÖÔ²»¡(ÍÖÔ²-Æðʼ½Ç¶È-ÖÕÖ¹½Ç¶È)
 
static App::IDocumentObject * CreateSpaceInterpolateBSpline (const std::vector< Base::Vector3d > &listPoint, bool bPeriodicFlag=false, const std::string &objName="SpaceInterpolateBSpline", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉBSplineÇúÏß(²åÖµ·¨)
 
static App::IDocumentObject * CreateSpaceInterpolateBSpline (const std::vector< Base::Vector3d > &listPoint, const std::vector< double > &listParameter, bool bPeriodicFlag=false, const std::string &objName="SpaceInterpolateBSpline", const Base::Placement &placement=Base::Placement(), App::IDocument *pIDoc=nullptr)
 Éú³ÉBSplineÇúÏß(²åÖµ·¨)
 
static App::IDocumentObject * CreateSpaceWire (const std::vector< Base::Vector3d > &pts, bool isPOlygon=false, const std::string &objName="SpaceWire", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³É¿Õ¼äÇúÏß
 
static App::IDocumentObject * createSpiralCurve (App::IDocument *pDoc, App::IDocumentObject *centerVertexSourceObject, const std::string &centerVertexName, App::IDocumentObject *directionVertexSourceObject, const std::string &directionVertexName, const double raidus, const double spiralSeparationDistance, const double spiralHeight, const std::string &direction, const std::string &objName="SpiralCurve")
 ÂÝÏß
 
static App::IDocumentObject * createSplicingCircleAndLine (const Base::Vector3d &center, const Base::Vector3d &normal, const double radius, const double angle, const std::string &objName="SplicingCircleAndLine", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 ´´½¨Ô²»¡Ö±Ï߯´½ÓÄ£ÐÍ
 
static App::IDocumentObject * createSplicingCurve (const std::vector< App::IDocumentObject * > &curveList, const std::string &objName="SplicingCurve", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉÒ»¸öÆ´½ÓÇúÏß
 
static App::IDocumentObject * createSplicingCurve (const std::vector< App::IDocumentObject * > &curveList, const std::vector< std::string > &subElementNameList, const std::string &objName="SplicingCurve", const Base::Placement &placement=Base::Placement(), App::IDocument *pDoc=nullptr)
 Éú³ÉÒ»¸öÆ´½ÓÇúÏß
 
static void updateApproximateBSplineParameters (App::IDocumentObject *pObj, const std::vector< Base::Vector3d > &listPoint, int nDegMin, int nDegMax, int nContinuity)
 ¸üÐÂBSplineÇúÏß²ÎÊý
 
static void updateArcofCircle (App::IDocumentObject *parcofcircle, const Base::ArcofCircle &arcofcircle)
 ¸üÐÂÔ²»¡²ÎÊý
 
static void updateArcofCircle2D (App::IDocumentObject *parcofcircle2d, const Base::ArcofCircle2D &arcofcircle2d)
 ¸üÐÂ2DÔ²»¡²ÎÊý
 
static void updateBSpline (App::IDocumentObject *pBSpline, const Base::BSplineCurve &BSpline)
 ¸üÐÂBÑùÌõÇúÏß²ÎÊý
 
static void updateBSpline2D (App::IDocumentObject *pBSpline2d, const Base::BSplineCurve2D &BSpline2d)
 ¸üÐÂ2D BÑùÌõÇúÏß²ÎÊý
 
static void updateCircle (App::IDocumentObject *pCircle, const Base::Circle &circle)
 ¸üÐÂÔ²²ÎÊý
 
static void updateCircle2D (App::IDocumentObject *pCircle, const Base::Circle2D &circle2d)
 ¸üÐÂ2DÔ²²ÎÊý
 
static void updateCircleArcParameters (App::IDocumentObject *pObj, const Base::Vector3d &centerPt, const Base::Vector3d &normal, double radius, double startAngle, double endAngle)
 ¸üÐÂÔ²»¡²ÎÊý(Ô²ÐÄ-°ë¾¶-ÆðʼÖÕÖ¹½Ç¶È)
 
static void updateCircleArcParameters (App::IDocumentObject *pObj, const Base::Vector3d &centerPt, const Base::Vector3d &startPt, const Base::Vector3d &lastPt, bool bScene)
 ¸üÐÂÔ²»¡²ÎÊý(Ô²ÐÄ-Æðʼµã-½Ç¶È(Ô²ÐÄÓëlastPtÁ¬Ïß)
 
static void updateCircleArcParameters (App::IDocumentObject *pObj, const Base::Vector3d &startPt, const Base::Vector3d &middlePt, const Base::Vector3d &endPt)
 ¸üÐÂÔ²»¡²ÎÊý£¨ÈýµãÔÚÔ²»¡ÉÏ£©
 
static void updateEllipse (App::IDocumentObject *pEllipse, const Base::Ellipse &Ellipse)
 ¸üÐÂÍÖÔ²²ÎÊý
 
static void updateEllipse2D (App::IDocumentObject *pEllipse2d, const Base::Ellipse2D &Ellipse2D)
 ¸üÐÂ2DÍÖÔ²²ÎÊý
 
static void updateEllipseArcParameters (App::IDocumentObject *pObj, double fMajorRadius, double fMinorRadius, const Base::Vector3d &oXDir, const Base::Vector3d &oZDir, const Base::Vector3d &oCenter, const Base::Vector3d &oStartPoint, const Base::Vector3d &oEndPoint)
 ¸üÐÂÍÖÔ²»¡²ÎÊý(ÍÖÔ²-Æðʼµã-ÖÕÖ¹µã)
 
static void updateEllipseArcParameters (App::IDocumentObject *pObj, double fMajorRadius, double fMinorRadius, const Base::Vector3d &oXDir, const Base::Vector3d &oZDir, const Base::Vector3d &oCenter, const Base::Vector3d &oStartPoint, double fSpan)
 ¸üÐÂÍÖÔ²»¡²ÎÊý(ÍÖÔ²-Æðʼµã-¿ç¶È)
 
static void updateEllipseArcParameters (App::IDocumentObject *pObj, double fMajorRadius, double fMinorRadius, const Base::Vector3d &oXDir, const Base::Vector3d &oZDir, const Base::Vector3d &oCenter, double fStartAngle, double fEndAngle)
 ¸üÐÂÍÖÔ²»¡²ÎÊý(ÍÖÔ²-Æðʼ½Ç¶È-ÖÕÖ¹½Ç¶È)
 
static void updateHyperbola (App::IDocumentObject *pHyperbola, const Base::Hyperbola &Hyperbola)
 ¸üÐÂË«ÇúÏß²ÎÊý
 
static void updateHyperbola2D (App::IDocumentObject *pHyperbola2d, const Base::Hyperbola2D &Hyperbola2D)
 ¸üÐÂ2DË«ÇúÏß²ÎÊý
 
static void updateInterpolateBSplineParameters (App::IDocumentObject *pObj, const std::vector< Base::Vector3d > &listPoint, bool bPeriodicFlag)
 ¸üÐÂBSplineÇúÏß²ÎÊý
 
static void updateInterpolateBSplineParameters (App::IDocumentObject *pObj, const std::vector< Base::Vector3d > &listPoint, std::vector< double > &listParameter, bool bPeriodicFlag)
 ¸üÐÂBSplineÇúÏß²ÎÊý
 
static void updateLine (App::IDocumentObject *pline, const Base::Line &line)
 ¸üÐÂÖ±Ïß²ÎÊý
 
static void updateLine2D (App::IDocumentObject *pline, const Base::Line2D &line2d)
 ¸üÐÂ2DÖ±Ïß²ÎÊý
 
static void updateLineSegment (App::IDocumentObject *plinesegmrnt, const Base::LineSegment &linesegment)
 ¸üÐÂÖ±Ï߶βÎÊý
 
static void updateLineSegment2D (App::IDocumentObject *plinesegmrnt2d, const Base::LineSegment2D &linesegment2d)
 ¸üÐÂ2DÖ±Ï߶βÎÊý
 
static void updateParabola (App::IDocumentObject *pParabola, const Base::Parabola &Parabola)
 ¸üÐÂÅ×ÎïÏß²ÎÊý
 
static void updateParabola2D (App::IDocumentObject *pParabola2d, const Base::Parabola2D &Parabola2D)
 ¸üÐÂ2DÅ×ÎïÏß²ÎÊý
 
static void updatePolygon (App::IDocumentObject *pPolygon, const Base::Circle &circle, const double &edgenum)
 ¸üжà±ßÐβÎÊý
 
static void updatePolyLine (App::IDocumentObject *pPolyLine, const Base::PolyLine &polyLine)
 ¸üжàÏ߶βÎÊý
 
static void updatePolyLine2D (App::IDocumentObject *pPolyLine, const Base::PolyLine2D &polyLine2d)
 ¸üÐÂ2D¶àÏ߶βÎÊý
 
static void updateSpaceEllipseParameters (App::IDocumentObject *pObj, const Base::Vector3d &center, const Base::Vector3d &xDir, const Base::Vector3d &yDir, double wRadius, double lRadius)
 ¸üпռäÍÖÔ²²ÎÊý
 
static void updateSpaceWireParameters (App::IDocumentObject *pObj, const std::vector< Base::Vector3d > &pointArray)
 ¸üпռäÇúÏß²ÎÊý
 
static void updateSplicingCircleAndLinParameters (App::IDocumentObject *pObj, const Base::Vector3d &center, const Base::Vector3d &normal, double radius, double angle)
 ¸üÐÂÔ²»¡Ö±Ï߯´½ÓÄ£ÐͲÎÊý
 
static void updateSplicingCurveParameters (App::IDocumentObject *pObj, const std::vector< App::IDocumentObject * > &curveList)
 ¸üÐÂÆ´½ÓÇúÏß²ÎÊý
 
static void updateSplicingCurveParameters (App::IDocumentObject *pObj, const std::vector< App::IDocumentObject * > &curveList, const std::vector< std::string > &subElementNameList)
 ¸üÐÂÆ´½ÓÇúÏß²ÎÊý
 

该类的文档由以下文件生�: