C3D Toolkit
Kernel - 117950, Vision - 2.7.5.29
|
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 | 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 | MbeRejectOutliersType { rot_NoReject = 0 , rot_Sigma = 1 , rot_Percent = 2 , rot_MaxDistance = 3 } |
Outliers rejection mode for surface fitting. 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... | |
Functions | |
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... | |
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... | |
DEPRECATE_DECLARE MbResultType | MeshSection (const MbMesh &mesh, const MbPlacement3D &place, RPArray< MbCurve3D > &polylines) |
Create a section contour of a polygon figure. 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 (c3d::ItemsSPtrVector &meshContainer, double accuracy=Math::metricRegion) |
Search an array of objects to replace repeating polygonal objects (MbMesh) with MbInstance, which are linked to the first in the set. 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. \detail Check the object closeness and provide detailed information about boundaries. An extended version of CheckMeshClosure. More... | |
MbResultType | SimplifyTriangularMesh (const MbMesh &mesh, const MbMeshSimplificationParams ¶ms, c3d::MeshesSPtrVector &simplifiedMeshes) |
Simplify triangulation. \detail Simplify triangulation. More... | |
MbResultType | SimplifyTriangularMesh (const MbMeshSimplificationParams ¶ms, MbMesh &mesh) |
Simplify triangulation. \detail Simplify triangulation up to the first level from parameters. 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... | |
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... | |
enum MbeCreateBRepMode |
enum MbePrimitiveType |
Types of primitives.
Get type of primitive of polygonal object.
enum MbeMoveType |
|
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. |
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. |
DEPRECATE_DECLARE MbResultType MeshSection | ( | const MbMesh & | mesh, |
const MbPlacement3D & | place, | ||
RPArray< MbCurve3D > & | 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 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 | ( | c3d::ItemsSPtrVector & | meshContainer, |
double | accuracy = Math::metricRegion |
||
) |
Search an array of objects to replace repeating polygonal objects (MbMesh) with MbInstance, which are linked to the first in the set.
[in] | meshContainer | - The array of objects . |
[in] | accuracy | - Comparison accuracy. |
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. \detail 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. \detail 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. \detail Simplify triangulation up to the first level from parameters.
[in] | params | - Simplifiation parameters. |
[in-out] | mesh - The polygonal object. |
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.