C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
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.