C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
action_surface_curve.h File Reference

Functions for three-dimensional curves construction. More...

#include <templ_s_array.h>
#include <mb_cart_point3d.h>
#include <mb_vector3d.h>
#include <space_item.h>
#include <wire_frame.h>
#include <mb_nurbs_function.h>
#include <mb_point_mating.h>
#include <mb_operation_result.h>
#include <op_curve_parameter.h>

Functions

MbResultType CalculatePipePoints (const MbCartPoint3D &origin1, const MbVector3D &direction1, double length1, double radius1, const MbCartPoint3D &origin2, const MbVector3D &direction2, double length2, double radius2, MbCartPoint3D &result1, MbCartPoint3D &result2)
 Compute the vertices of a polyline. More...
 
MbResultType OffsetPlaneCurve (const MbCurve3D &curve, double dist, MbCurve3D *&result)
 Create an offset curve. More...
 
MbResultType OffsetCurve (const MbCurve3D &initCurve, const MbSpatialOffsetCurveParams &params, c3d::WireFrameSPtr &result)
 Create an offset curve in space. More...
 
MbResultType OffsetCurve (const MbCurve3D &curve, const MbSurfaceOffsetCurveParams &params, c3d::WireFrameSPtr &result)
 Create an offset curve on a surface. More...
 
MbResultType CurveProjection (const MbSurface &surface, const MbCurve3D &curve, MbVector3D *direction, bool createExact, bool truncateByBounds, RPArray< MbCurve3D > &result, VERSION version=Math::DefaultMathVersion())
 Create a curve projection onto the surface. More...
 
MbResultType CurveProjection (const MbSurface &surface, const MbCurve3D &curve, MbVector3D *direction, bool createExact, bool truncateByBounds, c3d::SpaceCurvesSPtrVector &result, VERSION version=Math::DefaultMathVersion())
 Create a curve projection onto the surface. More...
 
MbResultType CurveByTwoProjections (const MbPlacement3D &place1, const MbCurve &curve1, const MbPlacement3D &place2, const MbCurve &curve2, RPArray< MbCurve3D > &result, VERSION version=Math::DefaultMathVersion())
 Create a space curve from two planar projections. More...
 
MbResultType ProjectionCurve (const MbCurve3D &curve, const RPArray< MbFace > &faces, const MbVector3D *dir, const bool createExact, const bool truncateByBounds, const MbSNameMaker &snMaker, RPArray< MbCurve3D > &result, SArray< uintptr_t > *resultIndices)
 Create a projection curve from a normal or from a direction. More...
 
MbResultType ProjectionCurve (const MbWireFrame &wireFrame, const bool sameWireFrame, const MbSolid &solid, const bool same, const SArray< size_t > &faceIndices, const MbVector3D *dir, const bool createExact, const bool truncateByBounds, const MbSNameMaker &snMaker, MbWireFrame *&resFrame)
 Create a projection wireframe from a normal or from a direction. More...
 
bool EliminateProjectionCurveOverlay (RPArray< MbCurve3D > &curves, SArray< uintptr_t > *indices)
 Eliminate the projection curve segments overlay. More...
 
MbResultType SilhouetteCurve (const MbSurface &surface, const MbVector3D &eye, bool perspective, bool removeOnSurfaceBounds, RPArray< MbCurve3D > &result, VERSION version=Math::DefaultMathVersion())
 Create an array of isocline curves of the surface. More...
 
MbResultType SilhouetteCurve (const MbFace &face, const MbVector3D &eye, bool perspective, RPArray< MbCurve3D > &result, VERSION version=Math::DefaultMathVersion())
 Create an array of isocline curves of the face. More...
 
MbResultType SilhouetteCurve (const MbSurface &surface, const MbAxis3D &axis, bool removeOnSurfaceBounds, RPArray< MbCurve3D > &curves, VERSION version=Math::DefaultMathVersion())
 Create an array of isocline curves of the rotated surface. More...
 
MbResultType SilhouetteCurve (const MbFace &face, const MbAxis3D &axis, RPArray< MbCurve3D > &curves, VERSION version=Math::DefaultMathVersion())
 Create an array of isocline curves of the rotated face. More...
 
MbResultType IntersectionCurve (const MbSurface &surface1, const MbSurface &surface2, const MbIntCurveParams &params, MbWireFrame *&result)
 Create the intersection curves of two surfaces. More...
 
MbResultType IntersectionCurve (MbFace &face1, MbFace &face2, const MbIntCurveParams &params, MbWireFrame *&result)
 Create intersection curves of two faces. More...
 
MbResultType IntersectionCurve (MbFace &face1, MbFace &face2, const MbIntCurveParams &params, MbIntCurveResults &results)
 Create intersection curves of two faces. More...
 
MbResultType IntersectionCurve (const MbSolid &solid1, const c3d::IndicesVector &faceIndices1, const MbSolid &solid2, const c3d::IndicesVector &faceIndices2, const MbIntCurveParams &params, MbWireFrame *&result)
 Create intersection curves of two shells faces. More...
 
MbResultType IntersectionCurve (const MbSolid &solid1, const c3d::IndicesVector &faceIndices1, bool same1, const MbSolid &solid2, const c3d::IndicesVector &faceIndices2, bool same2, const MbIntCurveParams &params, MbWireFrame *&result)
 Create intersection curves of two shells faces. More...
 
MbResultType IntersectionCurve (const MbSolid &solid1, const MbSolid &solid2, const MbIntCurveShellParams &params, MbIntCurveResults &results)
 Create intersection curves of two shells faces. More...
 
MbResultType IntersectionCurve (const MbSurface &surface1, const MbSurface &surface2, const MbIntCurveParams &params, MbIntCurveResults &results)
 Create an intersection curve of surfaces. More...
 
MbResultType IntersectionCurve (const MbSurface &surface1, bool ext1, const MbCartPoint &uv1beg, const MbCartPoint &uv1end, const MbSurface &surface2, bool ext2, const MbCartPoint &uv2beg, const MbCartPoint &uv2end, const MbVector3D &dir, MbCurve *&result1, MbCurve *&result2, MbeCurveBuildType &label)
 Create an intersection curve of surfaces. More...
 
MbResultType IntersectionCurve (const MbSurface &surf1, bool ext1, const MbCartPoint &uv1beg, const MbCartPoint &uv1end, const MbSurface &surf2, bool ext2, const MbCartPoint &uv2beg, const MbCartPoint &uv2end, const MbCurve3D *guideCurve, bool useRedetermination, bool checkPoles, MbCurve *&pCurve1, MbCurve *&pCurve2, MbeCurveBuildType &label)
 Create an intersection curve of surfaces. More...
 
MbResultType SpaceSplineThrough (const SArray< MbCartPoint3D > &points, MbeSplineParamType paramType, size_t degree, bool closed, RPArray< c3d::PntMatingData3D > &transitions, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Create a spatial spline through points and with the given derivatives. More...
 
MbResultType SpaceSplineBy (const SArray< MbCartPoint3D > &points, size_t degree, bool closed, const SArray< double > *weights, const SArray< double > *knots, c3d::PntMatingData3D *begData, c3d::PntMatingData3D *endData, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Create a spatial spline from points and derivatives. More...
 
MbResultType SurfaceSpline (const MbSurface &surface, bool throughPoints, SArray< MbCartPoint > &paramPnts, SArray< double > &paramWts, bool paramClosed, RPArray< c3d::PntMatingData3D > &spaceTransitions, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Create a curve on a surface. More...
 
MbResultType IsoparametricCurve (const MbSurface &surface, double x, bool isU, const MbRect1D *yRange, MbCurve3D *&result)
 Create an isoparametric curve. More...
 
MbResultType BridgeCurve (const MbCurve3D &curve1, double t1, bool sense1, const MbCurve3D &curve2, double t2, bool sense2, const MbSNameMaker &names, MbWireFrame *&result)
 Create a transition curve connecting curves 'curve1' and 'curve2'. More...
 
MbResultType ConnectingCurve (const MbCurve3D &curve1, bool isBegin1, double radius1, const MbCurve3D &curve2, bool isBegin2, double radius2, const MbSNameMaker &names, MbWireFrame *&result)
 Create a composite curve smoothly connecting two curves ends. More...
 
MbResultType ConnectingSpline (const MbCurve3D &curve1, double t1, MbeMatingType mating1, const MbCurve3D &curve2, double t2, MbeMatingType mating2, double tension1, double tension2, const MbSNameMaker &names, MbWireFrame *&result)
 Create a connecting NURBS curve for curves 'curve1' and 'curve2'. More...
 
MbResultType FilletCurve (const MbCurve3D &curve1, double &t1, double &w1, const MbCurve3D &curve2, double &t2, double &w2, double &radius, bool sense, bool &unchanged, const MbeConnectingType type, const MbSNameMaker &names, MbElementarySurface *&surface, MbWireFrame *&result)
 Create a fillet curve for curves. More...
 
double GetFilletRadiusDelta (const MbCurve3D &filletCurve, double radius, bool sense, double len, const MbCurve3D &curve1, double t1, const MbCurve3D &curve2, double t2)
 Determine the radius variation while translating the middle point of the fillet curve. More...
 
double GetFilletRadiusDelta (const MbCurve3D &filletCurve, double radius, bool sense, double len)
 Determine the radius variation while translating the middle point of the fillet curve. More...
 
MbResultType CreateContourFillets (const MbContour3D &contour, SArray< double > &radiuses, MbCurve3D *&result, const MbeConnectingType type)
 Create a curve for fillet of all the curves of a contour. More...
 
MbResultType CurvesWrapping (const MbCurvesWrappingParams &parameters, c3d::PlaneCurvesSPtrVector &surfaceCurves)
 Construct curves that wrap the surface. More...
 
MbResultType CurvesWrapping (const MbCurvesWrappingParams &parameters, c3d::SpaceCurvesSPtrVector &resultCurves)
 Construct curves that wrap the surface. More...
 
MbResultType CurvesUnwrapping (const MbCurvesWrappingParams &params, c3d::PlaneCurvesSPtrVector &surfaceCurves)
 Construct a unwrapping curve/contour. More...
 
MbResultType CurvesUnwrapping (const MbCurvesWrappingParams &parameters, c3d::SpaceCurvesSPtrVector &resultCurves)
 Construct a unwrapping curve/contour. More...
 
MbCurve3DMakeCurveOnSurface (const MbFace &face, const std::vector< const MbCurveEdge * > &edges, double accuracy)
 Construct a curve or contour on the surface of a face along the specified edges. More...
 
MbResultType FairCurve (const MbFairCurveParams &initParams, const MbFairCurveMethod &method, const MbFairCreateData &curveData, MbFairCurveResult &result)
 Construct a fair curve of the specified type according to the specified parameters. More...
 
MbResultType FairCurve (const MbFairCurveParams &initParams, const MbFairFilletData &curveData, MbFairCurveResult &result)
 Construct a fair fillet curve. More...
 
MbResultType FairCurve (const MbFairCurveParams &initParams, const MbFairCurveMethod &method, const MbFairChangeData &changeData, c3d::WireFrameSPtr &result)
 Change a fair curve. More...
 
MbResultType FairCurve (const MbClothoidParams &parameters, const MbSNameMaker &snMaker, c3d::WireFrameSPtr &result)
 Creating a clothoid. More...
 

Detailed Description

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.