|
C3D Toolkit
Kernel - 118069, Vision - 2.16.7.1844
|
Functions for points creation. More...
#include <templ_s_array.h>#include <mb_operation_result.h>#include <mb_enum.h>#include <mb_cart_point.h>#include <mb_cart_point3d.h>#include <cur_line.h>#include <mb_variables.h>Classes | |
| class | MbSpaceParamPnt |
| A space-parametric point. More... | |
Typedefs | |
| typedef std::pair< MbSpaceParamPnt, c3d::UintPair > | MbLocPnt |
| A space-parametric point with indexed position. | |
Functions | |
| template<class Type > | |
| SArray< Type > * | CreateArray (size_t cnt, MbResultType &res) |
| Create an array. More... | |
| template<class Type > | |
| bool | ReserveArray (SArray< Type > &arr, size_t n, MbResultType &res) |
| Allocate memory in the array for n elements. More... | |
| template<class Type > | |
| bool | AddItem (SArray< Type > &arr, const Type &item, MbResultType &res) |
| Add an element to the array. More... | |
| MbResultType | PointsOnSurface (const MbSurface &surface, MbeStepType stepType, double uValue, double vValue, bool truncateByBounds, RPArray< SArray< MbLocPnt > > &result) |
| Create points on a surface. More... | |
| MbResultType | PointsOnSurface (const MbSurface &surface, MbeItemGridType &gridType, const MbCartPoint &uv0, double angle, MbeStepType stepType, double step1, double step2, bool truncateByBounds, RPArray< SArray< MbLocPnt > > &result, size_t maxPntsCnt=c3d::ARRAY_MAX_COUNT) |
| Create points on a surface. More... | |
| void | DefinePointsOnSurfaceCounts (const MbSurface &surface, size_t &uPntsCnt, size_t &vPntsCnt) |
| Define the default sampling of a surface. More... | |
| MbeNewtonResult | IntersectionPoint (const MbSurface &surf0, bool ext0, const MbSurface &surf1, bool ext1, const MbSurface &surf2, bool ext2, MbCartPoint &uv0, MbCartPoint &uv1, MbCartPoint &uv2) |
| Calculate the intersection point of three surfaces. More... | |
| void | IntersectionPoints (const MbSurface &surf, bool surfExt, const MbCurve3D &curv, bool curveExt, SArray< MbCartPoint > &uv, SArray< double > &tt, bool touchInclude=false) |
| Calculate all the points of intersection of a surface and a curve. More... | |
| bool | LineLineNearestParams (const MbCartPoint3D &origin1, const MbVector3D &direction1, const MbCartPoint3D &origin2, const MbVector3D &direction2, double &t1, double &t2) |
| Determine the parameters of the nearest points of lines. More... | |
| double | LineLineNearestPoints (const MbLine3D &line1, const MbLine3D &line2, MbCartPoint3D &p1, MbCartPoint3D &p2) |
| Determination of the distance between the nearest points p1 and p2 of lines line1 and line2. More... | |
| bool | LineLineNearestParams (const MbCartPoint &origin1, const MbVector &direction1, const MbCartPoint &origin2, const MbVector &direction2, double &t1, double &t2) |
| Determine the parameters of the nearest points of lines. More... | |
| void | FastLineLine (const MbLine &line1, const MbLine &line2, MbCartPoint &result) |
| Calculate the point of two lines intersection. More... | |
| int | LineLine (const MbLine &line1, const MbLine &line2, MbCartPoint &result) |
| Calculate the point of two lines intersection. More... | |
| int | LineLine (const MbLine &line1, const MbLine &line2, MbCrossPoint &result) |
| Calculate the point of two lines intersection. More... | |
| int | LineLineSeg (const MbLine &line, const MbLineSegment &lseg, MbCrossPoint &result) |
| Calculate the intersection point of a line and a line segment. More... | |
| int | LineCircle (const MbLine &line, const MbCartPoint ¢re, double radius, MbCrossPoint *result) |
| Calculate intersection points of a line and a circle. More... | |
| ptrdiff_t | IntersectTwoCurves (const MbCurve &pCurve1, const MbCurve &pCurve2, SArray< MbCrossPoint > &result, bool touchInclude, double epsilon=Math::LengthEps *c3d::METRIC_DELTA, bool allowInaccuracy=true) |
| Calculate intersection points of two curves. More... | |
| ptrdiff_t | CurveCurveIntersection (const MbCurve &curve1, const MbCurve &curve2, SArray< double > &result1, SArray< double > &result2, double xEpsilon, double yEpsilon, bool touchInclude, bool allowInaccuracy=true) |
| Calculate intersection points of two curves. More... | |
| void | CurveSelfIntersect (const MbCurve &curve, double xEpsilon, double yEpsilon, SArray< double > &result1, SArray< double > &result2, VERSION version=Math::DefaultMathVersion()) |
| Calculate the points of curve self-intersection. More... | |
| void | RemoveAllTouchParams (const MbCurve &curve1, const MbCurve &curve2, SArray< MbCrossPoint > &result, double eps=PARAM_NEAR) |
| Remove touch points. More... | |
| ptrdiff_t | CurveCurveIntersection (const MbCurve3D &curve1, const MbCurve3D &curve2, SArray< double > &result1, SArray< double > &result2, double mEps, VERSION version=Math::DefaultMathVersion()) |
| Calculate intersection points of two curves. More... | |
| bool | IsSelfIntersect (const MbCurve3D &curve, double mEps=Math::metricRegion) |
| Determine if the curve has self-intersections. More... | |
| void | FilterTouchParams (const MbCurve3D &curve1, const MbCurve3D &curve2, SArray< double > &result1, SArray< double > &result2, double mEps=Math::metricRegion) |
| Remove the tangent intersection points. More... | |
| ptrdiff_t | CurveCurveCrossing (const MbCurve3D &curve1, const MbCurve3D &curve2, SArray< double > &result1, SArray< double > &result2, double epsilon=Math::metricRegion) |
| Calculate the points of two curves crossing. More... | |
| bool | PointProjectionRelativeOuterLoop (const MbSurface &surface, const MbCartPoint3D &pnt, bool byOuterRectOnly, MbCartPoint &result) |
| Find the projection of a point on a surface relative to the outer contour of the surface. More... | |
| bool | IsMultipleProjection (const MbSurface &surface, const MbCartPoint3D &result) |
| Determine whether the point projection is multiple-valued. More... | |
| bool | TouchIntersectionPoints (const MbSurface &surf1, bool ext1, const MbSurface &surf2, bool ext2, std::vector< MbCartPoint > &uv1arr, std::vector< MbCartPoint > &uv2arr) |
| Calculate the touch points of two surfaces. More... | |
| bool | PointsRelativeShell (const std::vector< MbCartPoint3D > &points, const MbFaceShell &shell, std::vector< MbeItemLocation > &pLocs) |
| Determine the position of points relative to the shell. More... | |
Functions for points creation.
Functions that take points or arrays of points as input parameters.