C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
Functions for three-dimensional curves construction. More...
#include <hash32.h>
#include <templ_s_array.h>
#include <templ_sptr.h>
#include <mb_cart_point3d.h>
#include <space_item.h>
#include <curve3d.h>
#include <mb_operation_result.h>
#include <vector>
Functions | |
MbResultType | Line (const MbCartPoint3D &point1, const MbCartPoint3D &point2, MbCurve3D *&result) |
Create a line. More... | |
MbResultType | Segment (const MbCartPoint3D &point1, const MbCartPoint3D &point2, MbCurve3D *&result) |
Create a line segment. More... | |
MbResultType | Arc (const MbCartPoint3D ¢re, const SArray< MbCartPoint3D > &points, bool curveClosed, double angle, double &a, double &b, MbCurve3D *&result) |
Create an ellipse (circle) or an elliptical (circular) arc. More... | |
MbResultType | SplineCurve (const SArray< MbCartPoint3D > &pointList, bool curveClosed, MbeSpaceType curveType, MbCurve3D *&result) |
Create a curve passing through a set of points. More... | |
MbResultType | NurbsCurve (const SArray< MbCartPoint3D > &pointList, const SArray< double > &weightList, size_t degree, const SArray< double > &knotList, bool curveClosed, MbCurve3D *&result) |
Create a NURBS-curve. More... | |
double | NurbsFitting (const std::vector< MbCartPoint3D > &pointList, bool curveClosed, size_t degree, size_t mode, double &accuracy, MbCurve3D *&result) |
Create a Nurbs curve with sorting points by distance passing through a set of points. More... | |
MbResultType | NurbsCopy (const MbCurve3D &curve, MbCurve3D *&result) |
Create a copy of a curve as a NURBS-curve. More... | |
MbResultType | NurbsCopy (const MbCurve3D &curve, const MbNurbsParameters ¶ms, MbNurbsCopyCurveResult &result) |
Create a NURBS curve copy by given parameters. More... | |
MbResultType | RegularPolygon (const MbCartPoint3D ¢re, const MbCartPoint3D &point, const MbVector3D &axisZ, size_t vertexCount, bool describe, MbCurve3D *&result) |
Create a regular polygon inscribed in a circle. More... | |
MbResultType | SpiralCurve (const MbPlacement3D &place, double radius, double step, MbCurve &lawCurve, bool spiralAxis, MbCurve3D *&result) |
Create a spiral. More... | |
MbResultType | SpiralCurve (const MbCartPoint3D &point0, const MbCartPoint3D &point1, const MbCartPoint3D &point2, double radius, double step, double angle, MbCurve *lawCurve, bool spiralAxis, MbCurve3D *&result) |
Create a spiral. More... | |
MbResultType | CreateContour (MbCurve3D &curve, MbContour3D *&result) |
Create a composite curve (contour). More... | |
MbCurve3D * | DuplicateCurve (const MbCurve3D &curve, VERSION version=Math::DefaultMathVersion()) |
Create a copy of a curve. More... | |
MbResultType | AddCurveToContour (MbCurve3D &curve, MbCurve3D &contour, bool toEnd) |
Add a curve to a composite curve (a contour). More... | |
MbResultType | PlaneCurve (const MbPlacement3D &place, const MbCurve &curve, MbCurve3D *&result) |
Create a space curve from a two-dimensional curve. More... | |
MbResultType | SurfaceCurve (const MbSurface &surface, const MbCurve &curve, MbCurve3D *&result) |
Create a curve on a surface given a two-dimensional curve. More... | |
MbResultType | CurveOnSurface (const MbCurve3D &curve, const MbSurface &surf, bool sameSurf, bool extSurf, MbCurve3D *&result, bool strictOnSurface=false) |
Create a curve on a surface from a space curve lying on the surface. More... | |
bool | IsCurveOnSurface (const MbCurve3D &curve, const MbSurface &surf, bool ext, bool strictOnSurface, VERSION version=Math::DefaultMathVersion()) |
Determine whether the curve lies on the surface. More... | |
MbResultType | CreateContours (RPArray< MbCurve3D > &curves, double metricEps, RPArray< MbContour3D > &result, bool onlySmoothConnected=false, VERSION version=Math::DefaultMathVersion()) |
Create an array of contours given an array of curves. More... | |
MbResultType | CreateContours (RPArray< MbCurve3D > &curves, double metricAcc, bool onlySmoothConnected=false, VERSION version=Math::DefaultMathVersion()) |
Create contours given a set of curves with elimination of degenerate ones. More... | |
MbResultType | WireFrame (const MbCurve3D &curve, const MbName &curveName, SimpleName mainName, MbWireFrame *&result) |
Create a named three-dimensional wireframe. More... | |
MbResultType | WireFrame (const RPArray< MbCurve3D > &curves, const RPArray< MbName > &curveNames, SimpleName mainName, MbWireFrame *&result) |
Create a named three-dimensional wireframe. More... | |
MbResultType | CreatePolyArcCurve3D (const MbCurve3D &curve, MbCurve3D *&result, double &eps, double minRad=Math::minRadius, double maxRad=Math::maxRadius) |
Approximate a contour with arcs and line segments. More... | |
bool | GetSpaceCurve (MbItem &item, bool keepPlacement, c3d::SpaceCurveSPtr &curve0, c3d::SpaceCurvesSPtrVector *curves=nullptr) |
Get or create a space curve. More... | |
MbCurve3D * | UnwrapCurve (const MbCurve3D &curve, const MbPlacement3D &placement, const MbCartPoint3D &point, double deviationAngle=DEVIATION_SAG) |
Construct a unwrapping curve/contour. More... | |
MbResultType | EvolutionSection (const MbSweptData &generCurves, const MbCurve3D &guideCurve, double guideParam, const EvolutionValues ¶ms, MbSweptData &result, VERSION version=Math::DefaultMathVersion(), double angleEpsilon=ANGLE_EPSILON) |
Create a section of evolution solid for defined parameter on the guide curve. More... | |
bool | IsLikeStraightLine (const MbCurve3D &curve, double eps) |
Whether the curve is like straight-line regardless of its parameterisation. More... | |
bool | CreateCenterLineCurves (const MbFace &face, std::vector< MbCurve3D * > &clCurves) |
Create center lines of shell face. More... | |
MbResultType | CreateFairBSplineCurveOnBasePolyline (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair B-spline on base polyline. More... | |
MbResultType | CreateFairBSplineCurveOnTangentPolyline (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair B-spline on tangent polyline. More... | |
MbResultType | CreateFairBezierCurveOnBasePolyline (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair Bezier curve on base polyline. More... | |
MbResultType | CreateFairBezierFilletOnPolyline (MbCurve3D *pllne, MbFairCurveData &data, MbCurve3D *&resCurve) |
Create a fillet fair Bezier curve on base polyline. More... | |
MbResultType | CreateFairBezierCurveOnTangentPolyline (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair Bezier curve on tangent polyline. More... | |
MbResultType | KernelCreateHermiteGDOnBezierCurve (const MbNurbs3D *curve, MbeFairCurveType type, MbFairCurveData &data, MbCurve3D *&polyline) |
Create Hermite GD on a Bezier curve. More... | |
MbResultType | CreateBezierCurveOnHermiteGD (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a Bezier on Hermite GD. More... | |
MbResultType | CreateBSplineCurveOnHermiteGD (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a B-spline on Hermite GD. More... | |
MbResultType | CreateFairBezierCurveOnBasePolylineOfHermiteGD (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair Bezier curve on base polyline of Hermite GD. More... | |
MbResultType | CreateFairBezierCurveOnTangentsOfHermiteGD (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair Bezier curve on tangent lines of Hermite GD. More... | |
MbResultType | CreateFairBSplineCurveOnBasePolylineOfHermiteGD (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair B-spline curve on base polyline of Hermite GD. More... | |
MbResultType | CreateFairBSplineCurveOnBasePolylineOfHermiteGDInflex (const MbCurve3D *pllne, MbFairCurveData &data, MbCurve3D *&resCurve) |
Create a fair B-spline curve on base polyline of Hermite GD. More... | |
MbResultType | CreateFairBSplineCurveOnNoisyData (MbCurve3D *pllne, int inType, MbFairCurveData &data, MbCurve3D *&resCurve) |
Create a fair B-spline curve with smoothing and reparametrization on noisy data. More... | |
MbResultType | CreateFairBSplineCurveOnTangentsOfHermiteGD (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a fair B-spline curve on tangent lines of Hermite GD. More... | |
MbResultType | KernelCreateClothoid (MbFairCurveData &data, MbCurve3D *&result) |
Create a clothoid. More... | |
MbResultType | KernelCreateSectrix (MbCurve3D *polyline, MbFairCurveData &data, MbCurve3D *&result) |
Create a sectrix. More... | |
MbResultType | ElevateDegreeNurbzs (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&result) |
Elevate the degree of the NURBzS curve. More... | |
MbResultType | ReparamNurbs (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&resCurve) |
Reparametrize the NURBS curve. More... | |
MbResultType | SubdivideNurbs (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&result) |
Subdivide the NURBS curve. More... | |
MbResultType | ExtractChangeNurbs (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&result) |
To extract part of NURBS curve / change the format of the NURBS curve. More... | |
MbResultType | ExtractChangeNurbsParams (MbNurbs3D *curve, MbFairCurveData &data, SArray< double > &resWts, SArray< double > &resKnots, MbCurve3D *&resCurve) |
To extract part of NURBS curve / change the format of the NURBS curve. Return parameters of created curve. More... | |
MbResultType | AddKnotNurbs (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&result) |
Insert node in NURBS. More... | |
MbResultType | ExtractExtrapolFromSegment (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&resCurve) |
Insert a knot into the onesegmented NURBS curve. More... | |
MbResultType | ConicNurbs (MbNurbs3D *curve, MbFairCurveData &data, MbCurve3D *&result) |
Convert a conical NURBzS into a conical NURBS. More... | |
MbResultType | Cabling (const MbCartPoint3D &begPoint, const MbVector3D &begDirection, const MbCartPoint3D &endPoint, const MbVector3D &endDirection, double length, double accuracy, double &maxCurvature, MbCurve3D *&result) |
Connecting the specified points by a curve of a specified length. More... | |
MbCurve3D * | SetProportionalParametrization (MbCurve3D *curve, double tMin, double tMax) |
Set curve parametrization proportional to the curve length. More... | |
MbResultType | ExtendCurve (const MbCurve3D &sourceCurve, const MbCurveExtensionParameters3D ¶meters, SPtr< MbWireFrame > &resFrame) |
Extend the given curve. More... | |
MbResultType | CreateContourChamfer (const MbContourChamferParams ¶mList, MbCurve3D *&resultChamferContour) |
Create chamfers on the contour joints. More... | |
MbResultType | UnwrapCurve (const MbCurvesWrappingParams ¶meters, MbCurvesWrappingResults &result) |
Construct unwrapped curves and points. More... | |
MbResultType | WrapCurve (const MbCurvesWrappingParams ¶meters, MbCurvesWrappingResults &result) |
Perform the operation of wrapping curves and points on a surface. More... | |
MbResultType | FitCurve (const MbCurveFitParameters3D ¶ms, MbCurveFitResults3D &results) |
Fit the curve into point set. More... | |
Functions for three-dimensional curves construction.
Edges are created on the basis of curves. Edges are used in solid and wireframe model. In addition curves are used for construction of surfaces as well as can be used as auxiliary elements of a model.