C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122
Файл action_surface_curve.h

Методы построения трехмерных кривых. Подробнее...

Функции

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)
 Рассчитать вершины ломаной. Подробнее...
 
MbResultType OffsetPlaneCurve (const MbCurve3D &curve, double d, MbCurve3D *&result)
 Создать эквидистантную кривую. Подробнее...
 
MbResultType OffsetCurve (const MbCurve3D &initCurve, const MbVector3D &offsetVect, const bool useFillet, const bool keepRadius, const bool bluntAngle, const bool fromBeg, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать эквидистантную кривую. Подробнее...
 
MbResultType OffsetCurve (const MbCurve3D &curve, const MbFace &face, const MbAxis3D &dirAxis, double dist, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать эквидистантную кривую. Подробнее...
 
MbResultType CurveProjection (const MbSurface &surface, const MbCurve3D &curve, MbVector3D *direction, bool createExact, bool truncateByBounds, RPArray< MbCurve3D > &result, VERSION version=Math::DefaultMathVersion())
 Создать проекцию кривой на поверхность. Подробнее...
 
MbResultType CurveByTwoProjections (const MbPlacement3D &place1, const MbCurve &curve1, const MbPlacement3D &place2, const MbCurve &curve2, RPArray< MbCurve3D > &result, VERSION version=Math::DefaultMathVersion())
 Создать пространственную кривую по двум плоским проекциям. Подробнее...
 
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)
 Создать проекционную кривую по нормали или по направлению. Подробнее...
 
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)
 Создать проекционный проволочный каркас по нормали или по направлению. Подробнее...
 
bool EliminateProjectionCurveOverlay (RPArray< MbCurve3D > &curves, SArray< uintptr_t > *indices)
 Устранить наложение сегментов проекционной кривой. Подробнее...
 
MbResultType SilhouetteCurve (const MbSurface &surface, const MbVector3D &eye, bool perspective, bool removeOnSurfaceBounds, RPArray< MbCurve3D > &result)
 Создать массив линий очерка поверхности. Подробнее...
 
MbResultType SilhouetteCurve (const MbFace &face, const MbVector3D &eye, bool perspective, RPArray< MbCurve3D > &result)
 Создать массив линий очерка грани. Подробнее...
 
MbResultType SilhouetteCurve (const MbSurface &surface, const MbAxis3D &axis, bool removeOnSurfaceBounds, RPArray< MbCurve3D > &curves)
 Создать массив линий очерка поверхности при вращательном движении вокруг оси. Подробнее...
 
MbResultType SilhouetteCurve (const MbFace &face, const MbAxis3D &axis, RPArray< MbCurve3D > &curves)
 Создать массив линий очерка грани при вращательном движении вокруг оси. Подробнее...
 
MbResultType IntersectionCurve (const MbSurface &surface1, const MbSurface &surface2, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать кривые пересечения двух поверхностей. Подробнее...
 
MbResultType IntersectionCurve (MbFace &face1, MbFace &face2, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать кривые пересечения двух граней. Подробнее...
 
MbResultType IntersectionCurve (const MbSolid &solid1, const SArray< size_t > &faceIndices1, const MbSolid &solid2, const SArray< size_t > &faceIndices2, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать кривые пересечения граней двух оболочек. Подробнее...
 
MbResultType IntersectionCurve (const MbSolid &solid1, const SArray< size_t > &faceIndices1, const bool same1, const MbSolid &solid2, const SArray< size_t > &faceIndices2, const bool same2, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать кривые пересечения граней двух оболочек. Подробнее...
 
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)
 Создать линию пересечения поверхностей. Подробнее...
 
MbResultType SpaceSplineThrough (const SArray< MbCartPoint3D > &points, MbeSplineParamType paramType, size_t degree, bool closed, RPArray< MbPntMatingData< MbVector3D > > &transitions, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать пространственный сплайн через точки и с сопряжениями. Подробнее...
 
MbResultType SpaceSplineBy (const SArray< MbCartPoint3D > &points, size_t degree, bool closed, const SArray< double > *weights, const SArray< double > *knots, MbPntMatingData< MbVector3D > *begData, MbPntMatingData< MbVector3D > *endData, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать пространственный сплайн по точкам и с сопряжениями. Подробнее...
 
MbResultType SurfaceSpline (const MbSurface &surface, bool throughPoints, SArray< MbCartPoint > &paramPnts, SArray< double > &paramWts, bool paramClosed, RPArray< MbPntMatingData< MbVector3D > > &spaceTransitions, const MbSNameMaker &snMaker, MbWireFrame *&result)
 Создать кривую на поверхности. Подробнее...
 
MbResultType IsoparametricCurve (const MbSurface &surface, double x, bool isU, const MbRect1D *yRange, MbCurve3D *&result)
 Создать изопараметрическую кривую. Подробнее...
 
MbResultType BridgeCurve (const MbCurve3D &curve1, double t1, bool sense1, const MbCurve3D &curve2, double t2, bool sense2, const MbSNameMaker &names, MbWireFrame *&result)
 Создать кривую - мостик, соединяющую кривые curve1 и curve2. Подробнее...
 
MbResultType ConnectingCurve (const MbCurve3D &curve1, bool isBegin1, double radius1, const MbCurve3D &curve2, bool isBegin2, double radius2, const MbSNameMaker &names, MbWireFrame *&result)
 Создать составную кривую плавного соединения концов двух кривых. Подробнее...
 
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)
 Создать соединительную NURBS кривую для кривых curve1 и curve2. Подробнее...
 
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)
 Создать кривую для плавного соединения (скругления) кривых. Подробнее...
 
double GetFilletRadiusDelta (const MbCurve3D &filletCurve, double radius, bool sense, double len, const MbCurve3D &curve1, double t1, const MbCurve3D &curve2, double t2)
 Определить изменение радиуса при перемещении средней точки кривой скругления. Подробнее...
 
double GetFilletRadiusDelta (const MbCurve3D &filletCurve, double radius, bool sense, double len)
 Определить изменение радиуса при перемещении средней точки кривой скругления. Подробнее...
 
MbResultType CreateContourFillets (const MbContour3D &contour, SArray< double > &radiuses, MbCurve3D *&result, const MbeConnectingType type)
 Создать кривую для плавного соединения (скругления) всех кривых контура. Подробнее...
 

Подробное описание

Методы построения трехмерных кривых.

На базе кривых строятся рёбра. Рёбра используются в твёрдотельной и каркасной модели. Кроме того, кривые используются для построения поверхностей, а также могут служить вспомогательными элементами модели.