C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
Classes | |
class | MbMeshProcessorValues |
Parameters of BRep shell construction from polygonal mesh. More... | |
class | MbSurfaceFitToGridParameters |
Parameters of surface fitting. More... | |
class | MbSurfaceFitToGridResults |
Parameters of surface fitting. More... | |
class | MbMeshProcessor |
Class for creating a BRep shell by polygonal mesh. More... | |
struct | MeshInfo |
Diagnostic data of a polygonal object. More... | |
struct | MbCurvature |
Curvature and principal curvature direction data. More... | |
class | MbFloatPoint |
A two-dimensional point. More... | |
class | MbFloatPoint3D |
Three-dimensional point. More... | |
class | MbFloatVector3D |
Three-dimensional vector. More... | |
class | MbFloatAxis3D |
Axis. More... | |
class | MbExactGrid |
Triangulation on double data. More... | |
class | MbFloatGrid |
Triangulation on float data. More... | |
class | MbExactPolygon3D |
Polygon on double data. More... | |
class | MbFloatPolygon3D |
Polygon on float data. More... | |
class | MbPolygon |
Two-dimensional polygon. More... | |
class | MbPrimitive |
Primitive. More... | |
class | MbApex3D |
Apex (point). More... | |
class | MbExactApex3D |
Apex on double data. More... | |
class | MbFloatApex3D |
Apex on float data. More... | |
class | MbPolygon3D |
Polygon. More... | |
class | MbGrid |
Triangulation. More... | |
class | MbTriangle |
Triangle. More... | |
class | MbQuadrangle |
Quadrangle. More... | |
class | MbElement |
Element of tesselation of solid volume. More... | |
class | MbGridLoop |
Border of triangulation. More... | |
class | MbGridSegment |
A polygonal mesh segment (segmentation result). More... | |
class | MbMeshToInstanceParams |
Parameters for the replacement of repetative meshes (MbMesh) into MbInstance. More... | |
class | MbMeshToInstanceResults |
Results of the replacement of repetative meshes (MbMesh) into MbInstance. More... | |
class | MbCurveFitParametersBase |
Base class for curve fitting parameters. More... | |
class | MbCurveFitParameters |
2D curve fitting parameters. More... | |
class | MbCurveFitParameters3D |
3D curve fitting parameters. More... | |
class | MbFitResultsBase |
Base class for fitting results. More... | |
class | MbCurveFitResults |
2D curve fitting results. More... | |
class | MbCurveFitResults3D |
2D curve fitting results. More... | |
class | MbFaceAndGrid |
Mathematical face and its calculated grid. More... | |
struct | MbLumpAndFaces |
A solid with an array of faces and triangulation grids. More... | |
Enumerations | |
enum | MbeSurfReconstructMode { srm_All = 0 , srm_NoGrids = 1 , srm_CanonicOnly = 2 , srm_Default = srm_NoGrids } |
Surface reconstruction mode. More... | |
enum | MbeCreateBRepMode { cbm_Strict = 0 , cbm_Weak = 1 , cbm_Default = cbm_Strict } |
BRep creation mode. More... | |
enum | MbePrimitiveType { pt_Apex3D , pt_ExactApex3D , pt_FloatApex3D , pt_Polygon3D , pt_ExactPolygon3D , pt_FloatPolygon3D , pt_Grid , pt_ExactGrid , pt_FloatGrid } |
Types of primitives. More... | |
enum | MbeMoveType { mt_Forward = 0 , mt_Backward = 1 } |
Motion direction. More... | |
enum | MbeRejectOutliersType { rot_NoReject = 0 , rot_Sigma = 1 , rot_Percent = 2 , rot_MaxDistance = 3 } |
Outliers rejection mode for surface fitting. More... | |
enum | MbCurveFitParametersBase::MbeCurveFitType { MbCurveFitParametersBase::cft_Undef = 0 , MbCurveFitParametersBase::cft_Line = 1 , MbCurveFitParametersBase::cft_Circle = 2 , MbCurveFitParametersBase::cft_Ellipse = 3 } |
Type of a curve to be fit. More... | |
Functions | |
bool | MbSurfaceFitToGridParameters::AddAxisConstraint (const MbVector3D &direction, double angle=0.) |
Add an axis constraint. More... | |
void | MbSurfaceFitToGridParameters::AddCoaxialConstraint (const MbAxis3D &axis) |
Add a coaxial constraint. More... | |
bool | MbSurfaceFitToGridParameters::AddCylinderRadiusConstraint (double radius) |
Fix cylinder radius. More... | |
bool | MbSurfaceFitToGridParameters::AddSphereRadiusConstraint (double radius) |
Fix sphere radius. More... | |
bool | MbSurfaceFitToGridParameters::AddConeAngleConstraint (double angle) |
Fix cone angle. More... | |
bool | MbSurfaceFitToGridParameters::AddTorusRadiiConstraint (double majorRadius, double minorRadius) |
Fix torus radii. More... | |
MbResultType | MbSurfaceFitToGridParameters::SetFitConstraintXYW (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Set the XYW-constraint. More... | |
MbResultType | MbSurfaceFitToGridParameters::SetFitConstraintZ (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Set the Z-constraint. More... | |
MbResultType | MbSurfaceFitToGridParameters::SetFitConstraintXYZ (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Set the XYZ-constraint. More... | |
MbResultType | MbSurfaceFitToGridParameters::SetFitConstraintZW (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Set the ZW-constraint. More... | |
static MbMeshProcessor * | MbMeshProcessor::Create (const MbCollection &collection) |
Create mesh processor by collection. More... | |
virtual void | MbMeshProcessor::SetRelativeTolerance (double tolerance)=0 |
Set relative tolerance. More... | |
virtual void | MbMeshProcessor::SetTolerance (double tolerance)=0 |
Set tolerance. More... | |
virtual double | MbMeshProcessor::GetTolerance () const =0 |
Get tolerance. More... | |
virtual void | MbMeshProcessor::SetReconstructionMode (MbeSurfReconstructMode mode)=0 |
Set the surfaces reconstruction mode. More... | |
virtual void | MbMeshProcessor::SetBrepCreationMode (MbeCreateBRepMode mode)=0 |
Set the BRep creation mode. More... | |
virtual void | MbMeshProcessor::SetUseMeshSmoothing (bool useSmoothing)=0 |
Set flag to use smoothing of input mesh. More... | |
virtual const MbCollection & | MbMeshProcessor::GetSimplifiedMesh ()=0 |
Get fixed (simplified) copy of the input mesh. More... | |
virtual const MbCollection & | MbMeshProcessor::GetSegmentedMesh ()=0 |
Get segmented copy of the input mesh. More... | |
virtual const std::vector< MbCurvature > & | MbMeshProcessor::CalculateCurvatures ()=0 |
Calculate the principal curvatures and principal curvature directions at mesh points. More... | |
virtual MbResultType | MbMeshProcessor::SegmentMesh (bool createSurfaces=true)=0 |
Segment a polygonal mesh. More... | |
virtual MbResultType | MbMeshProcessor::CreateBRepShell (MbFaceShell *&pShell, bool smoothBoundaryEdges, double bondThresholdAngle)=0 |
Create shell. More... | |
virtual void | MbMeshProcessor::FitSurfaceToSegment (size_t idxSegment)=0 |
Fit surface to segment . More... | |
virtual void | MbMeshProcessor::FitSurfaceToSegment (size_t idxSegment, MbeSpaceType surfaceType)=0 |
Fit surface of a given type to a segment. More... | |
virtual const MbSurface * | MbMeshProcessor::GetSegmentSurface (size_t idxSegment) const =0 |
Get surface of segment. More... | |
virtual MbSurface * | MbMeshProcessor::SetSegmentSurface (size_t idxSegment)=0 |
Set surface of segment. More... | |
virtual void | MbMeshProcessor::ResetSegmentation ()=0 |
Reset segmentation of the polygonal mesh. More... | |
virtual bool | MbMeshProcessor::FindShortestVertexPath (uint v1, uint v2, std::vector< uint > &path)=0 |
Find shortest path between two vertices. More... | |
MbResultType | ConvertMeshToShell (MbMesh &mesh, MbFaceShell *&shell, const MbMeshProcessorValues ¶ms=MbMeshProcessorValues()) |
Create shell from mesh with automatic surface reconstruction. More... | |
MbResultType | ConvertCollectionToShell (MbCollection &collection, MbFaceShell *&shell, const MbMeshProcessorValues ¶ms=MbMeshProcessorValues()) |
Create shell from collection with automatic surface reconstruction. More... | |
MbResultType | FitSurfaceToGrid (const MbGrid &grid, const MbSurfaceFitToGridParameters ¶ms, MbSurfaceFitToGridResults &results) |
Fit the surface into polygon set. More... | |
MbResultType | FitCurve (const MbCurveFitParameters ¶ms, MbCurveFitResults &results) |
Fit the curve into point set. More... | |
MbResultType | FitCurve (const MbCurveFitParameters3D ¶ms, MbCurveFitResults3D &results) |
Fit the curve into point set. More... | |
void | CalculateWire (const MbPlaneItem &obj, const MbPlacement3D &plane, double sag, MbMesh &mesh) |
Create a polygonal two-dimensional object. More... | |
MbResultType | CreateIcosahedron (const MbPlacement3D &place, double radius, const MbFormNote &fn, MbMesh *&result) |
Construct an icosahedron mesh. More... | |
MbResultType | CreateBoxMesh (const MbMatrix3D &trans, SPtr< MbMesh > &result) |
Construct a parallepiped mesh. More... | |
MbResultType | CreateBoxWire (const MbMatrix3D &trans, SPtr< MbMesh > &result) |
Construct an parallepiped wireframe. More... | |
void | MakeSpaceWireFrame (const MbItem &item, RPArray< MbCurve3D > &wire, bool isVisibleOnly=false) |
Create a spatial wireframe by a mesh. More... | |
void | MakePlaneWireFrame (const MbItem &item, const MbPlacement3D &place, RPArray< MbCurve3D > &wire) |
Create a planar wireframe by a mesh. More... | |
void | MakePlaneVistaWireFrame (const MbItem &item, const MbPlacement3D &place, const MbCartPoint3D &vista, RPArray< MbCurve3D > &wire) |
Create a planar wireframe by a mesh in perspective. More... | |
void | MakePlaneWireFrame (const MbItem &item, const MbPlacement3D &place, RPArray< MbCurve > &wire) |
Create a planar wireframe by a mesh. More... | |
void | MakePlaneVistaWireFrame (const MbItem &item, const MbPlacement3D &place, const MbCartPoint3D &vista, RPArray< MbCurve > &wire) |
Create a planar wireframe by a mesh in perspective. More... | |
MbResultType | CreateSpherePolyhedron (const MbPlacement3D &place, double radius, double &epsilon, MbMesh *&result) |
Construct an spherical mesh. More... | |
MbResultType | CreateConvexPolyhedron (const SArray< MbFloatPoint3D > &points, MbMesh *&result) |
Calculate a convex hull of a point set. More... | |
MbResultType | CreateConvexPolyhedron (const std::vector< MbFloatPoint3D > &points, MbMesh *&result) |
Calculate a convex hull of a point set. More... | |
MbResultType | CreateConvexPolyhedron (const SArray< MbCartPoint3D > &points, MbMesh *&result) |
Calculate a convex hull of a point set. More... | |
MbResultType | CreateConvexPolyhedron (const std::vector< MbCartPoint3D > &points, MbMesh *&result) |
Calculate a convex hull of a point set. More... | |
MbResultType | CreateConvexPolyhedron (const MbMesh &mesh, double offset, MbMesh *&result) |
Construct the convex hull of triangulation grid. More... | |
MbResultType | CreateConvexPolygon (const MbConvexHullParams ¶ms, MbConvexHullResults &result) |
Construct the convex hull of 2D points array. More... | |
MbResultType | CreateConvexPolyhedron (const MbConvexHullParams3D ¶ms, SPtr< MbMesh > &result) |
Calculate a convex hull of a point set. More... | |
bool | AreIntersectConvexPolyhedrons (const MbMesh &mesh1, const MbMesh &mesh2) |
Whether there is intersection of convex grids. More... | |
MbResultType | MeshCutting (MbMesh &mesh, MbeCopyMode sameShell, const MbPlacement3D &place, int part, const MbSNameMaker &names, bool onlySection, MbMesh *&result) |
Cut a part of a polygonal object by a plane. More... | |
MbResultType | MeshSection (const MbMesh &mesh, const MbPlacement3D &place, c3d::SpaceCurvesSPtrVector &polylines) |
Create a section contour of a polygon figure. More... | |
MbResultType | MeshMeshIntersection (const MbMesh &mesh1, const MbMesh &mesh2, c3d::SpaceCurvesSPtrVector &polylines) |
Create an intersection contour of two polygon objects. More... | |
MbResultType | CalculateBallPivotingGrid (const MbCollection &collection, double radius, double radiusMin, double angle, MbMesh *&result) |
Build a triangulation by point cloud with Ball Pivoting algorithm. More... | |
MbOrientedBox | CalculateBoundingBox (const MbMesh &mesh) |
Calculate a volume-minimized oriented bounding box (OBB) containing a polygonal object. More... | |
MbResultType | RepairInconsistentMesh (MbMesh &mesh) |
Repair inconsistent orientation of mesh polygons with respect to each other. More... | |
MbResultType | ConvertMeshToInstance (const c3d::ItemsSPtrVector &meshContainer, const MbMeshToInstanceParams ¶ms, MbMeshToInstanceResults &results) |
Search an array of objects to replace repeating polygonal objects (MbMesh) with MbInstance, which are linked to the first in the set. It is recommended to use relative accuracy for large objects which size exceeds ~1e6. More... | |
bool | CheckMeshClosure (const MbMesh &mesh, MeshInfo &info) |
Check the object closeness and provide information about the boundary edges. More... | |
bool | InspectMeshClosure (const MbMesh &mesh, MeshInfo &info) |
Check the object closeness and provide detailed information about boundaries. More... | |
MbResultType | SimplifyTriangularMesh (const MbMesh &mesh, const MbMeshSimplificationParams ¶ms, c3d::MeshesSPtrVector &simplifiedMeshes) |
Simplify triangulation. More... | |
MbResultType | SimplifyTriangularMesh (const MbMeshSimplificationParams ¶ms, MbMesh &mesh) |
Simplify triangulation. More... | |
MbResultType | UnwrapMesh (const MbMeshUnwrapParams ¶ms, MbMeshUnwrapResult &results) |
Construct a unwrapping the mesh on a plane. More... | |
void | CalculateHideMesh (const MbSurface &surf, const MbVector3D &eyeDir, double sag, MbMesh *&mesh, VERSION version=Math::DefaultMathVersion()) |
Calculate mesh. More... | |
void | TriangulateRegion (const MbRegion ®ion, double sag, MbPlanarGrid &grid) |
Triangulation of a two-dimensional region. More... | |
MbResultType | MbSurfaceFitConstraint::InitializeXYW (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Initialize the XYW-constraint (in case of validity). More... | |
MbResultType | MbSurfaceFitConstraint::InitializeZ (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Initialize the Z-constraint (in case of validity). More... | |
MbResultType | MbSurfaceFitConstraint::InitializeXYZ (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Initialize the XYZ-constraint (in case of validity). More... | |
MbResultType | MbSurfaceFitConstraint::InitializeZW (MbeSpaceType typeSurface, MbeDimensionalConstraintType typeDim, const MbConstraintFixedValues &fixedValues, const MbPlacement3D &place) |
Initialize the ZW-constraint (in case of validity). More... | |
Functions of triangulation. | |
virtual void | MbGrid::AddColor (float r, float g, float b, float a)=0 |
Add color as an additional information of point (0 <= r,g,b,a <= 1). More... | |
Position constraints. | |
bool | MbSurfaceFitConstraint::AddAxisConstraint (const MbVector3D &direction, double angle=0.) |
Add an axis constraint. More... | |
void | MbSurfaceFitConstraint::AddCoaxialConstraint (const MbAxis3D &axis) |
Add a coaxial constraint. More... | |
Dimensional constraints. | |
bool | MbSurfaceFitConstraint::AddCylinderRadiusConstraint (double radius) |
Fix cylinder radius. More... | |
bool | MbSurfaceFitConstraint::AddSphereRadiusConstraint (double radius) |
Fix sphere radius. More... | |
bool | MbSurfaceFitConstraint::AddConeAngleConstraint (double angle) |
Fix cone angle. More... | |
bool | MbSurfaceFitConstraint::AddTorusRadiiConstraint (double majorRadius, double minorRadius) |
Fix torus radii. More... | |
enum MbeCreateBRepMode |
enum MbePrimitiveType |
Types of primitives.
Get type of primitive of polygonal object.
enum MbeMoveType |
|
inline |
Add an axis constraint.
Add an axis constraint to a cylinder, cone, torus or plane. The axis of a primitive or plane normal will be collinear to a given direction by default. Besides there may be given a desired angle between the axis of a primitive or plane normal and a given direction from [0; П/2]. Fitting a plane with a normal, which is perpendicular to a given direction, implies an angle П/2. The function resets all previous axis constraints.
[in] | direction | - Reference direction. |
[in] | angle | - Angle between the axis of a primitive and a given direction. |
Add a coaxial constraint.
Add a coaxial constraint to a cylinder, cone, torus or sphere. A primitive will be fit with a given axis. If a sphere is fit, its center lies on a given axis. The function resets all previous axis constraints.
[in] | axis | - Axis. |
|
inline |
Fix cylinder radius.
Fix cylinder radius. The value has to be positive.
[in] | radius | - Cylinder radius. |
|
inline |
Fix sphere radius.
Fix sphere radius. The value has to be positive.
[in] | radius | - Sphere radius. |
|
inline |
Fix cone angle.
Fix cone angle. The angle has to be from (0; П/2).
[in] | angle | - Cone angle. |
|
inline |
Fix torus radii.
Fix torus radii. There may be fixed the major radius (_size1) or the minor radius (_size2) of a torus (one or both of them). The values have to be positive (=0 - value is not fixed).
[in] | majorRadius | - Major torus radius. |
[in] | minorRadius | - Minor torus radius. |
|
inline |
Set the XYW-constraint.
Set the XYW-constraint. Translation along the OX и OY axes and rotation about the OZ axis of a local coordinate system are only allowed. For a plane, a cylinder, a cone or a torus there has to be fixed the angle theta between an object's axis and the OZ axis of a given coordinate system. The angle theta has to belong to [0; П/2]. For a sphere there has to be fixed the Z coordinate of its center. For a torus there has to be fixed the Z coordinate of its directrix circle. There may be fixed some dimensional parameters of an object if necessary. The function resets all previous constraints (for example, having been set by "Add*Constraint").
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
|
inline |
Set the Z-constraint.
Set the Z-constraint. Translation along the OZ axis of a local coordinate system is only allowed. For a plane, a cylinder, a cone or a torus there have to be fixed:
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
|
inline |
Set the XYZ-constraint.
Set the XYZ-constraint. Translation is only allowed (any rotation is forbidden). For a plane, a cylinder, a cone or a torus there have to be fixed:
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
|
inline |
Set the ZW-constraint.
Set the ZW-constraint. Translation along the OZ axis and rotation about the OZ axis of a local coordinate system are only allowed. For a plane, a cylinder, a cone or a torus there have to be fixed:
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
|
static |
Create mesh processor by collection.
Create mesh processor by collection. User must delete created object.
[in] | collection | - Input collection containing triangle mesh. |
|
pure virtual |
Set relative tolerance.
Set relative tolerance by current mesh box.
[in] | tolerance | - Relative tolerance to set. |
|
pure virtual |
Set tolerance.
Set tolerance of surface reconstruction and segments extension. Method should be called before call to SegmentMesh. Default tolerance is 0.1.
[in] | tolerance | - Tolerance to set. |
|
pure virtual |
Get tolerance.
Get current tolerance used in surface reconstruction and segments extension.
|
pure virtual |
Set the surfaces reconstruction mode.
Set types of surfaces which will be generated on segments. The surfaces of unsupoprted type will not be built.
[in] | mode | - Surface reconstruction mode. |
|
pure virtual |
Set the BRep creation mode.
Set connectivity type of faces of resultant BRep model.
[in] | mode | - BRep creation mode. |
|
pure virtual |
Set flag to use smoothing of input mesh.
Set flag to use smoothing of input mesh. If the flag set to true, then run smoothing of input mesh before main segmentation algorithm start. It is recommended to use mesh smoothing on inexact meshes, e.g. meshes obtained by scanning.
[in] | useSmoothing | - The flag to use smoothing of input mesh. Default false. |
|
pure virtual |
Get fixed (simplified) copy of the input mesh.
Get fixed copy of the input mesh. All further operations of MbMehsProcessor are performed for simplified mesh: curvature calculation, segmentation, shell creation. All indices in the output of these operations corresponds to indices of vertices and triangles of the simplified mesh returned from this function.
|
pure virtual |
Get segmented copy of the input mesh.
Get segmented copy of the input mesh. All further operations of MbMehsProcessor are performed for simplified mesh: curvature calculation, segmentation, shell creation. Segmentation is stored inside collection.
|
pure virtual |
Calculate the principal curvatures and principal curvature directions at mesh points.
Calculate the principal curvatures and principal curvature directions at mesh points.
|
pure virtual |
Segment a polygonal mesh.
Perform segmentation of a polygonal mesh.
[in] | createSurfaces | - Create surfaces on segments or not. |
|
pure virtual |
Create shell.
Create BRep shell that represents input mesh model. Current segmentation is used. If segmentation is not computed yet, then automatic segmentation is performed (with default parameters).
[out] | pShell | - The pointer to created shell. |
[in] | smoothBoundaryEdges | - Smoothing flag of boundary edges. |
[in] | bondThresholdAngle | - The treshold value of angle between two adjanced external edges of mesh (in radians). |
|
pure virtual |
Fit surface to segment .
Recognize surface for mesh segment with a given index. Recognized surface is available through GetSegmentSurface method.
[in] | idxSegment | - Index of a mesh segment. |
|
pure virtual |
Fit surface of a given type to a segment.
Find surface of a given type approximating mesh segment with a given index. Recognized surface is available through GetSegmentSurface method.
[in] | idxSegment | - Index of a mesh segment. |
[in] | surfaceType | - Type of fitted surface. |
|
pure virtual |
Get surface of segment.
Get surface that approximates segment. To fit surface use corresponding methods SegmentMesh or FitSurfaceToSegment.
[in] | idxSegment | - Index of a mesh segment. |
|
pure virtual |
Set surface of segment.
Set surface that approximates segment. To fit surface use corresponding methods SegmentMesh or FitSurfaceToSegment.
[in] | idxSegment | - Index of a mesh segment. |
|
pure virtual |
Reset segmentation of the polygonal mesh.
Reset segmentation of the polygonal mesh stored inside MbMeshProcessor.
|
pure virtual |
Find shortest path between two vertices.
Find shortest path between two vertices. The path should pass through collection vertices and edges.
[in] | v1 | - The index of first vertex. |
[in] | v2 | - The index of second vertex. |
[out] | path | - The path from the first vertex to the second one. The array contains successive indices of path vertices. |
MbResultType ConvertMeshToShell | ( | MbMesh & | mesh, |
MbFaceShell *& | shell, | ||
const MbMeshProcessorValues & | params = MbMeshProcessorValues() |
||
) |
Create shell from mesh with automatic surface reconstruction.
Create BRep shell that represents input mesh model. Algorithm automatically detect and reconstruct faces based on elementary surfaces (plane, cylinder, sphere, cone, torus).
[in] | mesh | - The input mesh. |
[out] | shell | - The pointer to created shell. |
[in] | params | - Parameters of BRep shell construction. |
MbResultType ConvertCollectionToShell | ( | MbCollection & | collection, |
MbFaceShell *& | shell, | ||
const MbMeshProcessorValues & | params = MbMeshProcessorValues() |
||
) |
Create shell from collection with automatic surface reconstruction.
Create BRep shell that represents input mesh model from collection. Algorithm automatically detect and reconstruct faces based on elementary surfaces (plane, cylinder, sphere, cone, torus).
[in] | collection | - The input collection. |
[out] | shell | - The pointer to created shell. |
[in] | params | - Parameters of BRep shell construction. |
MbResultType FitSurfaceToGrid | ( | const MbGrid & | grid, |
const MbSurfaceFitToGridParameters & | params, | ||
MbSurfaceFitToGridResults & | results | ||
) |
Fit the surface into polygon set.
Fit a surface of a given type into the polygon set.
If the set of polygons is not specified, all triangulation polygons are used.
[in] | grid | - The initial triangulation. |
[in] | params | - The fitting parameters. |
[out] | results | - Results of surface fitting. |
MbResultType FitCurve | ( | const MbCurveFitParameters & | params, |
MbCurveFitResults & | results | ||
) |
Fit the curve into point set.
Fit a curve of a given type into the point set.
[in] | params | - The fitting parameters. |
[out] | results | - Results of curve fitting. |
MbResultType FitCurve | ( | const MbCurveFitParameters3D & | params, |
MbCurveFitResults3D & | results | ||
) |
Fit the curve into point set.
Fit a curve of a given type into the point set.
[in] | params | - The fitting parameters. |
[out] | results | - Results of curve fitting. |
void CalculateWire | ( | const MbPlaneItem & | obj, |
const MbPlacement3D & | plane, | ||
double | sag, | ||
MbMesh & | mesh | ||
) |
Create a polygonal two-dimensional object.
Create a polygonal object for two-dimensional object in the XOY-plane of the local coordinate system.
[in] | obj | - Two-dimensional object (if nullptr, object isn't created). |
[in] | plane | - A local coordinate system. |
[in] | sag | - The maximum deviation of polygonal object from the original object by sag. |
[out] | mesh | - Polygonal object. |
MbResultType CreateIcosahedron | ( | const MbPlacement3D & | place, |
double | radius, | ||
const MbFormNote & | fn, | ||
MbMesh *& | result | ||
) |
Construct an icosahedron mesh.
Construct an icosahedron mesh.
[in] | place | - Local placement. |
[in] | radius | - The radius of the sphere. |
[in] | fn | - Way for polygonal object constructing. |
[out] | result | - The resulting mesh. |
MbResultType CreateBoxMesh | ( | const MbMatrix3D & | trans, |
SPtr< MbMesh > & | result | ||
) |
Construct a parallepiped mesh.
Construct an oriented box in the mesh representation. If the matrix 'trans' is identity then the result of the call will be an unit cube. In general, the matrix contains a translation and rotation that positions the cube relative to the origin. The sizes of the parallelepiped are specified by the scaling factors of the matrix along the eigen axes of the LCS of the parallelepiped.
[in] | trans | - The matrix specifying a postion, orientation and sizes of the box sides. |
[out] | result | - The resulting mesh. |
MbResultType CreateBoxWire | ( | const MbMatrix3D & | trans, |
SPtr< MbMesh > & | result | ||
) |
Construct an parallepiped wireframe.
The function makes the wireframe of the oriented box by the same rules as CreateBoxMesh.
void MakeSpaceWireFrame | ( | const MbItem & | item, |
RPArray< MbCurve3D > & | wire, | ||
bool | isVisibleOnly = false |
||
) |
Create a spatial wireframe by a mesh.
Create a spatial wireframe by a mesh.
[in] | item | - The mesh. |
[out] | wire | - A spatial wireframe by a mesh. |
[in] | isVisibleOnly | - If true only visible mesh polygons are processed. |
void MakePlaneWireFrame | ( | const MbItem & | item, |
const MbPlacement3D & | place, | ||
RPArray< MbCurve3D > & | wire | ||
) |
Create a planar wireframe by a mesh.
Create a planar wireframe by a mesh.
[in] | item | - The mesh. |
[in] | place | - The local coordinate system. |
[out] | wire | - A spatial wireframe by a mesh. |
void MakePlaneVistaWireFrame | ( | const MbItem & | item, |
const MbPlacement3D & | place, | ||
const MbCartPoint3D & | vista, | ||
RPArray< MbCurve3D > & | wire | ||
) |
Create a planar wireframe by a mesh in perspective.
Create a planar wireframe by a mesh in perspective.
[in] | item | - The mesh. |
[in] | place | - The local coordinate system. |
[in] | vista | - The observation point . |
[out] | wire | - A spatial wireframe by a mesh. |
void MakePlaneWireFrame | ( | const MbItem & | item, |
const MbPlacement3D & | place, | ||
RPArray< MbCurve > & | wire | ||
) |
Create a planar wireframe by a mesh.
Create a planar wireframe by a mesh.
[in] | item | - The mesh. |
[in] | place | - The local coordinate system. |
[out] | wire | - A spatial wireframe by a mesh. |
void MakePlaneVistaWireFrame | ( | const MbItem & | item, |
const MbPlacement3D & | place, | ||
const MbCartPoint3D & | vista, | ||
RPArray< MbCurve > & | wire | ||
) |
Create a planar wireframe by a mesh in perspective.
Create a planar wireframe by a mesh in perspective.
[in] | item | - The mesh. |
[in] | place | - The local coordinate system. |
[in] | vista | - The observation point . |
[out] | wire | - A spatial wireframe by a mesh. |
MbResultType CreateSpherePolyhedron | ( | const MbPlacement3D & | place, |
double | radius, | ||
double & | epsilon, | ||
MbMesh *& | result | ||
) |
Construct an spherical mesh.
Construct an approximation of the sphere by a convex polyhedron.
[in] | place | - Local placement. |
[in] | radius | - The radius of the sphere. |
[in] | epsilon | - The approximation parameter. |
[out] | result | - The resulting mesh. |
MbResultType CreateConvexPolyhedron | ( | const SArray< MbFloatPoint3D > & | points, |
MbMesh *& | result | ||
) |
Calculate a convex hull of a point set.
Calculate mesh being a convex hull of a point set.
[in] | points | - Point array. |
[out] | result | - The resulting triangulation convex grid. |
MbResultType CreateConvexPolyhedron | ( | const std::vector< MbFloatPoint3D > & | points, |
MbMesh *& | result | ||
) |
Calculate a convex hull of a point set.
Calculate mesh being a convex hull of a point set.
[in] | points | - Point array. |
[out] | result | - The resulting triangulation convex grid. |
MbResultType CreateConvexPolyhedron | ( | const SArray< MbCartPoint3D > & | points, |
MbMesh *& | result | ||
) |
Calculate a convex hull of a point set.
Calculate mesh being a convex hull of a point set.
[in] | points | - Point array. |
[out] | result | - The resulting triangulation convex grid. |
MbResultType CreateConvexPolyhedron | ( | const std::vector< MbCartPoint3D > & | points, |
MbMesh *& | result | ||
) |
Calculate a convex hull of a point set.
Calculate mesh being a convex hull of a point set.
[in] | points | - Point array. |
[out] | result | - The resulting triangulation convex grid. |
MbResultType CreateConvexPolyhedron | ( | const MbMesh & | mesh, |
double | offset, | ||
MbMesh *& | result | ||
) |
Construct the convex hull of triangulation grid.
Construct the convex hull of triangulation grid.
[in] | mesh | - Initial triangulated mesh. |
[in] | offset | - The offset along a normal for the resulting grid. |
[out] | resMesh | - The resulting triangulation convex grid. |
MbResultType CreateConvexPolygon | ( | const MbConvexHullParams & | params, |
MbConvexHullResults & | result | ||
) |
Construct the convex hull of 2D points array.
Construct the convex hull of 2D points array.
[in] | params | - Operation parameters. |
[out] | result | - Operation result. |
MbResultType CreateConvexPolyhedron | ( | const MbConvexHullParams3D & | params, |
SPtr< MbMesh > & | result | ||
) |
Calculate a convex hull of a point set.
Calculate mesh being a convex hull of a point set.
[in] | params | - Operation parameters. |
[out] | result | - The resulting triangulation convex grid. |
Whether there is intersection of convex grids.
Whether there is intersection of convex grids.
[in] | mesh1 | - The first convex grid. |
[in] | mesh2 | - The second convex grid. |
MbResultType MeshCutting | ( | MbMesh & | mesh, |
MbeCopyMode | sameShell, | ||
const MbPlacement3D & | place, | ||
int | part, | ||
const MbSNameMaker & | names, | ||
bool | onlySection, | ||
MbMesh *& | result | ||
) |
Cut a part of a polygonal object by a plane.
Cut a part of a polygonal object off by a plane XY of local coordinate system.
part = 1 - a part of polygonal object above the XY plane is to be retained.
part = -1 - a part of polygonal object below the XY plane is to be retained.
[in] | mesh | - The source polygonal object. |
[in] | sameShell | - The mode of copying of the source polygonal object. |
[in] | place | - A cutting plane. |
[in] | part | - The direction of cutting off. |
[in] | names | - An object for naming the new objects. |
[in] | onlySection | - The flag of the cutting off mode: false - cut as a solid, true - cut as a shell. |
[out] | result | - The resultant polygonal object. |
MbResultType MeshSection | ( | const MbMesh & | mesh, |
const MbPlacement3D & | place, | ||
c3d::SpaceCurvesSPtrVector & | polylines | ||
) |
Create a section contour of a polygon figure.
Construct curves of the section of the mesh object lying on the XY plane of the local coordinate system.
[in] | mesh | - The source polygonal object. |
[in] | place | - A cutting plane. |
[out] | polylines | - The resultant contours. |
MbResultType MeshMeshIntersection | ( | const MbMesh & | mesh1, |
const MbMesh & | mesh2, | ||
c3d::SpaceCurvesSPtrVector & | polylines | ||
) |
Create an intersection contour of two polygon objects.
Create an intersection contour of two polygon objects.
[in] | mesh1 | - The source polygonal object. |
[in] | mesh1 | - The source polygonal object. |
[out] | polylines | - The result contours. |
MbResultType CalculateBallPivotingGrid | ( | const MbCollection & | collection, |
double | radius, | ||
double | radiusMin, | ||
double | angle, | ||
MbMesh *& | result | ||
) |
Build a triangulation by point cloud with Ball Pivoting algorithm.
[in] | collection | - Collection of 3d elements. |
[in] | radius | - Radius of the pivoting ball, if radius==0 an autoguess for the ball pivoting radius is attempted |
[in] | radiusMin | - Clusterization radius ( % from radius value). |
[in] | angle | - Max angle between two mesh faces |
[out] | result | - The resultant polygonal object. |
MbOrientedBox CalculateBoundingBox | ( | const MbMesh & | mesh | ) |
Calculate a volume-minimized oriented bounding box (OBB) containing a polygonal object.
[in] | mesh | A polygonal mesh for witch the bounding volume is calculated. |
MbResultType RepairInconsistentMesh | ( | MbMesh & | mesh | ) |
Repair inconsistent orientation of mesh polygons with respect to each other.
[out] | result | - The polygonal object. |
MbResultType ConvertMeshToInstance | ( | const c3d::ItemsSPtrVector & | meshContainer, |
const MbMeshToInstanceParams & | params, | ||
MbMeshToInstanceResults & | results | ||
) |
Search an array of objects to replace repeating polygonal objects (MbMesh) with MbInstance, which are linked to the first in the set. It is recommended to use relative accuracy for large objects which size exceeds ~1e6.
[in] | meshContainer | - The array of objects. |
[in] | params | - Parameters of the operation |
[out] | results | - Results of the operation. Contain the initial array, where instances instances replace repeatative meshes. |
Check the object closeness and provide information about the boundary edges.
[in] | mesh | - The polygonal object. |
[out] | info | - A struct containing information about boundary edges (if the object is not closed). |
Check the object closeness and provide detailed information about boundaries.
Check the object closeness and provide detailed information about boundaries. An extended version of CheckMeshClosure.
[in] | mesh | - The polygonal object. |
[out] | info | - A struct containing information about boundaries., if the object is not closed. |
MbResultType SimplifyTriangularMesh | ( | const MbMesh & | mesh, |
const MbMeshSimplificationParams & | params, | ||
c3d::MeshesSPtrVector & | simplifiedMeshes | ||
) |
Simplify triangulation.
Simplify triangulation.
[in] | mesh | - The polygonal object. |
[in] | params | - Simplifiation parameters. |
[out] | simplifiedMeshes | - Vector of simplified triangulations. |
MbResultType SimplifyTriangularMesh | ( | const MbMeshSimplificationParams & | params, |
MbMesh & | mesh | ||
) |
Simplify triangulation.
Simplify triangulation up to the first level from parameters.
[in] | params | - Simplifiation parameters. |
[in-out] | mesh - The polygonal object. |
MbResultType UnwrapMesh | ( | const MbMeshUnwrapParams & | params, |
MbMeshUnwrapResult & | results | ||
) |
Construct a unwrapping the mesh on a plane.
Construct a unwrapping the mesh on a plane.
[in] | params | - The parameters. It is necessary to call method InitBaseMesh and (optionally) InitRemeshedMesh. If remeshed mesh exists, we will work on it, otherwise on base mesh. |
[out] | results | - The operation result. Contains the copy of the mesh from parameters with filled 2D coordinates in according to unwrapped result. |
void CalculateHideMesh | ( | const MbSurface & | surf, |
const MbVector3D & | eyeDir, | ||
double | sag, | ||
MbMesh *& | mesh, | ||
VERSION | version = Math::DefaultMathVersion() |
||
) |
Calculate mesh.
Calculate mesh of array of surface silhouette curves.
void TriangulateRegion | ( | const MbRegion & | region, |
double | sag, | ||
MbPlanarGrid & | grid | ||
) |
Triangulation of a two-dimensional region.
Triangulation of a two-dimensional region. 'region' region has to be correct (improper handling of incorrect ones)
|
pure virtual |
Add color as an additional information of point (0 <= r,g,b,a <= 1).
Implemented in MbFloatGrid, and MbExactGrid.
bool MbSurfaceFitConstraint::AddAxisConstraint | ( | const MbVector3D & | direction, |
double | angle = 0. |
||
) |
Add an axis constraint.
Add an axis constraint to a cylinder, cone, torus or plane. The axis of a primitive or plane normal will be collinear to a given direction by default. Besides there may be given a desired angle between the axis of a primitive or plane normal and a given direction from [0; П/2]. Fitting a plane with a normal, which is perpendicular to a given direction, implies an angle П/2. The function resets all previous axis constraints.
[in] | direction | - Reference direction. |
[in] | angle | - Angle between the axis of a primitive and a given direction. |
Add a coaxial constraint.
Add a coaxial constraint to a cylinder, cone, torus or sphere. A primitive will be fit with a given axis. If a sphere is fit, its center lies on a given axis. The function resets all previous axis constraints.
[in] | axis | - Axis. |
bool MbSurfaceFitConstraint::AddCylinderRadiusConstraint | ( | double | radius | ) |
Fix cylinder radius.
Fix cylinder radius. The value has to be positive.
[in] | radius | - Cylinder radius. |
bool MbSurfaceFitConstraint::AddSphereRadiusConstraint | ( | double | radius | ) |
Fix sphere radius.
Fix sphere radius. The value has to be positive.
[in] | radius | - Sphere radius. |
bool MbSurfaceFitConstraint::AddConeAngleConstraint | ( | double | angle | ) |
Fix cone angle.
Fix cone angle. The angle has to be from (0; П/2).
[in] | angle | - Cone angle. |
bool MbSurfaceFitConstraint::AddTorusRadiiConstraint | ( | double | majorRadius, |
double | minorRadius | ||
) |
Fix torus radii.
Fix torus radii. There may be fixed the major radius (_size1) or the minor radius (_size2) of a torus (one or both of them). The values have to be positive (=0 - value is not fixed).
[in] | majorRadius | - Major torus radius. |
[in] | minorRadius | - Minor torus radius. |
MbResultType MbSurfaceFitConstraint::InitializeXYW | ( | MbeSpaceType | typeSurface, |
MbeDimensionalConstraintType | typeDim, | ||
const MbConstraintFixedValues & | fixedValues, | ||
const MbPlacement3D & | place | ||
) |
Initialize the XYW-constraint (in case of validity).
Initialize the XYW-constraint. Translation along the OX и OY axes and rotation about the OZ axis of a local coordinate system are only allowed. For a plane, a cylinder, a cone or a torus there has to be fixed the zenith angle theta: the angle between an object's axis and the OZ axis of a given CS, has to belong to [0; П/2]. For a sphere there has to be fixed the Z coordinate of its center. For a torus there has to be fixed the Z coordinate of its directrix circle. There may be fixed some dimensional parameters of an object if necessary. The function resets all previous constraints (for example, having been set by "Add*Constraint").
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
MbResultType MbSurfaceFitConstraint::InitializeZ | ( | MbeSpaceType | typeSurface, |
MbeDimensionalConstraintType | typeDim, | ||
const MbConstraintFixedValues & | fixedValues, | ||
const MbPlacement3D & | place | ||
) |
Initialize the Z-constraint (in case of validity).
Initialize the Z-constraint. Translation along the OZ axis of a local coordinate system is only allowed. For a plane, a cylinder, a cone or a torus there have to be fixed:
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
MbResultType MbSurfaceFitConstraint::InitializeXYZ | ( | MbeSpaceType | typeSurface, |
MbeDimensionalConstraintType | typeDim, | ||
const MbConstraintFixedValues & | fixedValues, | ||
const MbPlacement3D & | place | ||
) |
Initialize the XYZ-constraint (in case of validity).
Initialize the XYZ-constraint. Translation is only allowed (any rotation is forbidden). For a plane, a cylinder, a cone or a torus there have to be fixed:
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |
MbResultType MbSurfaceFitConstraint::InitializeZW | ( | MbeSpaceType | typeSurface, |
MbeDimensionalConstraintType | typeDim, | ||
const MbConstraintFixedValues & | fixedValues, | ||
const MbPlacement3D & | place | ||
) |
Initialize the ZW-constraint (in case of validity).
Initialize the ZW-constraint. Translation along the OZ axis and rotation about the OZ axis of a local coordinate system are only allowed. For a plane, a cylinder, a cone or a torus there have to be fixed:
[in] | typeSurface | - Surface type. |
[in] | typeDim | - Dimensional constraint type. |
[in] | fixedValues | - Structure with fixed values of surface parameters. |
[in] | place | - Local coordinate system. |