|
C3D Toolkit
Kernel - 118057, Vision - 2.14.7.1821
|
Collaboration diagram for Polygonal Objects:Classes | |
| class | MbMeshProcessorValues |
| Parameters of BRep shell construction from polygonal mesh. More... | |
| class | MbMeshProcessor |
| Class for creating a BRep shell by polygonal mesh. More... | |
| struct | MeshInfo |
| Diagnostic data of a polygonal object. More... | |
| class | MbDrapMaker |
| Class for shell draping. 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 | MbRepairInconsistentMeshParams |
| Parameters for the inconsistent meshes (MbMesh) repair. 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 | MbSurfaceFitToGridParameters |
| Parameters of surface fitting. More... | |
| class | MbSurfaceFitToGridResults |
| Parameters of surface fitting. More... | |
| class | MbRemeshParams |
| Remeshing parameters. More... | |
| class | MbShellLinearizationParams |
| Parameters for the shell linearization. More... | |
| class | MbShellLinearizationResults |
| Shell linearization results. More... | |
| class | MbMeshCurvatureParams |
| Parameters for mesh curvature calculation. More... | |
| class | MbMergePolymeshParams |
| Parameters for polymesh merging. More... | |
| class | MbMeshSmoothingParams |
| Parameters for the polymesh smoothing. More... | |
| class | MbPolylinePolymeshProjectResults |
| Results of projecting a polyline on a polymesh. More... | |
| class | MbCurvePolymeshProjectParams |
| Parameters for cutting a polymesh with a set of curves. More... | |
| class | MbPathPolymeshOffsetParams |
| Parameters for polymesh edge pathes offsetting. More... | |
| class | MbPolymeshProjectResults |
| Results of cutting a polymesh with a set of curves. More... | |
| class | MbFillClosedCurveParams |
| Parameters for filling a hole defined by a closed curve. More... | |
| class | MbFillPolymeshHoleParams |
| Parameters for filling a polygonal object hole. More... | |
| class | MbPolymeshNormalsParams |
| Parameters for calculation of normal vectors at the vertices of a polygonal object. More... | |
| class | MbPolymeshBooleanParams |
| Parameters of a boolean operation with two polygonal objects. More... | |
| class | MbPolymeshBooleanResults |
| Results of a boolean operation with two polygonal objects. More... | |
| class | MbPolymeshImprintParams |
| Parameters of imprinting a 2D line or a plane on a polygonal object. More... | |
| class | MbPolymeshImprintResults |
| Results of imprinting a line or a plane on a polygonal object. More... | |
| class | MbFaceAndGrid |
| Mathematical face and its calculated grid. More... | |
| struct | MbLumpAndFaces |
| A solid with an array of faces and triangulation grids. 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 | 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... | |
| MbResultType | CalculateMesh (const MbItem &item, const MbStepData &stepData, const MbFormNote ¬e, MbMesh &mesh) |
| Build polygonal copy of an object. 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 (const MbRepairInconsistentMeshParams ¶ms, 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... | |
| MbResultType | CreatePolymeshByShell (const MbShellLinearizationParams ¶ms, const MbFaceShell &shell, MbPolymesh &mesh) |
| Create the polymesh by the shell. More... | |
| MbResultType | CreatePolymeshByShell (const MbShellLinearizationParams ¶ms, const MbFaceShell &shell, MbPolymesh &mesh, MbShellLinearizationResults &results) |
| Create the polymesh by the shell. More... | |
| void | GetConnectedFacetGroups (const MbPolymesh &mesh, const c3d::IndicesVector &facets, std::vector< c3d::IndicesVector > &groups) |
| Get connected groups from facets. More... | |
| void | GetConnectedRegionGroups (const MbPolymesh &mesh, const c3d::IndicesVector ®ions, std::vector< c3d::IndicesVector > &groups) |
| Get connected groups from regions. More... | |
| void | GetPolymeshRegions (const MbPolymesh &mesh, const MbHalfedgeBoundaryCriterionBase &crit, std::vector< c3d::IndicesVector > &facets) |
| Divide a polymesh into regions according to a given boundary criterion. More... | |
| void | GetPolymeshRegion (const MbPolymesh &mesh, const MbHalfedgeBoundaryCriterionBase &crit, size_t seed, c3d::IndicesVector &facets) |
| Get the region containing a given facet according to a given boundary criterion. More... | |
| void | GetPolymeshRegionBoundaries (const MbPolymesh &mesh, const c3d::IndicesVector ®ion, std::vector< c3d::IndicesVector > &boundaries) |
| Get the boundary edges of a given region. More... | |
| void | GetPolymeshOpenBoundaries (const MbPolymesh &mesh, std::vector< c3d::IndicesVector > &boundaries) |
| Get the open boundary edges of a polymesh. More... | |
| void | GetSegmOpenBoundaries (const MbPolymesh &mesh, std::vector< c3d::IndicesVector > &boundaries) |
| Get open segmentation boundaries. More... | |
| MbResultType | PolymeshSection (const MbPolymesh &mesh, const MbPlacement3D &place, c3d::SpaceCurvesSPtrVector &polylines) |
| Create a section contour for a polygonal object. More... | |
| bool | CutPolymeshByPlane (const MbPlacement3D &place, bool bTriangulate, MbPolymesh &mesh) |
| Cut the part of a polygonal object by a plane. More... | |
| MbResultType | ImprintOnPolymesh (const MbPolymeshImprintParams ¶ms, MbPolymesh &mesh, MbPolymeshImprintResults &results) |
| Imprint a 2D line or a plane on a polygonal object. More... | |
| void | CopyPolymeshPart (const MbPolymesh &mesh, const c3d::IndicesVector &facets, MbPolymesh &meshSub) |
| Copy the part of a polygonal object into another polygonal object. More... | |
| bool | IsPolymeshTriangulation (const MbPolymesh &mesh) |
| Verify if polymesh is triangulation. More... | |
| MbResultType | Remesh (const MbRemeshParams ¶ms, MbPolymesh &mesh) |
| Remesh a polygonal object. More... | |
| MbResultType | CalculatePolymeshCurvatures (const MbMeshCurvatureParams ¶ms, MbPolymesh &mesh) |
| Calculates mesh curvatures. More... | |
| MbResultType | MergePolymeshes (const MbPolymesh &meshFrom, const MbMergePolymeshParams ¶ms, MbPolymesh &meshTo) |
| Merge a polygonal object with another polygonal object. More... | |
| MbResultType | SmoothPolymesh (const MbMeshSmoothingParams ¶ms, MbPolymesh &mesh) |
| Smooth a polygonal object using a set of input smoothing parameters. More... | |
| MbResultType | ProjectPolylineOnPolymesh (MbPolymesh &mesh, const MbPolylinePolymeshProjectParams ¶ms, MbPolylinePolymeshProjectResults &results) |
| Project a polyline on a polygonal object. More... | |
| MbResultType | FillClosedCurve (const MbFillClosedCurveParams ¶ms, MbPolymesh &patch) |
| Fill a hole defined by a closed curve. More... | |
| MbResultType | FillPolymeshHole (const MbFillPolymeshHoleParams ¶ms, MbPolymesh &mesh) |
| Fill a polygonal object hole. More... | |
| MbResultType | CalculatePolymeshNormals (const MbPolymeshNormalsParams ¶ms, MbPolymesh &mesh) |
| Calculate normal vectors at the vertices of a polygonal object. More... | |
| MbResultType | CutPolymeshByCurves (const MbCurvePolymeshProjectParams ¶ms, MbPolymeshProjectResults &results, MbPolymesh &mesh) |
| Cut a polygonal object by a set of curves. More... | |
| MbResultType | OffsetPolymeshPath (const MbPathPolymeshOffsetParams ¶ms, MbPolymeshProjectResults &results, MbPolymesh &mesh) |
| Offset polymesh edge paths. More... | |
| MbResultType | PolymeshBoolean (const MbPolymeshBooleanParams ¶ms, MbPolymeshBooleanResults &results, MbPolymesh &mesh0, MbPolymesh &mesh1) |
| Boolean operation for two polygonal objects. 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... | |
| 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... | |
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 |
|
strong |
|
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 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. |
| MbResultType CalculateMesh | ( | const MbItem & | item, |
| const MbStepData & | stepData, | ||
| const MbFormNote & | note, | ||
| MbMesh & | mesh | ||
| ) |
Build polygonal copy of an object.
Build a polygonal copy of the object that is represented by polygons or/and fasets.
| [in] | item | - The model geometric object. |
| [in] | stepData | - Data for еру step calculation for polygonal object. |
| [in] | note | - Way for polygonal object constructing. |
| [in,out] | mesh | - The builded polygonal object. |
| 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 | ( | const MbRepairInconsistentMeshParams & | params, |
| MbMesh & | mesh | ||
| ) |
Repair inconsistent orientation of mesh polygons with respect to each other.
| [in] | params | - Parameters of the operation |
| [in] | mesh | - 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. |
| MbResultType CreatePolymeshByShell | ( | const MbShellLinearizationParams & | params, |
| const MbFaceShell & | shell, | ||
| MbPolymesh & | mesh | ||
| ) |
Create the polymesh by the shell.
Create the polymesh by the shell. Creates mapping from segmentation edges to shell edges and from segmentation regions to shell faces. Any operations that change segmentation topology will lead to invalid mapping.
| [in] | params | - The parameters. |
| [in] | shell | - The shell. |
| [in,out] | mesh | - The polymesh. |
| MbResultType CreatePolymeshByShell | ( | const MbShellLinearizationParams & | params, |
| const MbFaceShell & | shell, | ||
| MbPolymesh & | mesh, | ||
| MbShellLinearizationResults & | results | ||
| ) |
Create the polymesh by the shell.
Create the polymesh by the shell. Creates mapping from segmentation edges to shell edges and from segmentation regions to shell faces. Any operations that change segmentation topology will lead to invalid mapping. The results contain the indices of unlinearized faces.
| [in] | params | - The parameters. |
| [in] | shell | - The shell. |
| [in,out] | mesh | - The polymesh. |
| [out] | results | - The results. |
| void GetConnectedFacetGroups | ( | const MbPolymesh & | mesh, |
| const c3d::IndicesVector & | facets, | ||
| std::vector< c3d::IndicesVector > & | groups | ||
| ) |
Get connected groups from facets.
| [in] | mesh | - A polygonal object with topology. |
| [in] | facets | - Facet array. |
| [out] | groups | - Groups of connected facets. |
| void GetConnectedRegionGroups | ( | const MbPolymesh & | mesh, |
| const c3d::IndicesVector & | regions, | ||
| std::vector< c3d::IndicesVector > & | groups | ||
| ) |
Get connected groups from regions.
| [in] | mesh | - A polygonal object with topology. |
| [in] | regions | - Region array. |
| [out] | groups | - Groups of connected regions. |
| void GetPolymeshRegions | ( | const MbPolymesh & | mesh, |
| const MbHalfedgeBoundaryCriterionBase & | crit, | ||
| std::vector< c3d::IndicesVector > & | facets | ||
| ) |
Divide a polymesh into regions according to a given boundary criterion.
| [in] | mesh | - A polygonal object with topology. |
| [in] | crit | - Boundary criterion. |
| [out] | facets | - Groups of facets divided into regions. |
| void GetPolymeshRegion | ( | const MbPolymesh & | mesh, |
| const MbHalfedgeBoundaryCriterionBase & | crit, | ||
| size_t | seed, | ||
| c3d::IndicesVector & | facets | ||
| ) |
Get the region containing a given facet according to a given boundary criterion.
| [in] | mesh | - A polygonal object with topology. |
| [in] | crit | - Boundary criterion. |
| [in] | seed | - A seed facet. |
| [out] | facets | - All the facets of a region. |
| void GetPolymeshRegionBoundaries | ( | const MbPolymesh & | mesh, |
| const c3d::IndicesVector & | region, | ||
| std::vector< c3d::IndicesVector > & | boundaries | ||
| ) |
Get the boundary edges of a given region.
| [in] | mesh | - A polygonal object with topology. |
| [in] | region | - Facet array which forms a region. |
| [out] | boundaries | - Boundary edges of a region. |
| void GetPolymeshOpenBoundaries | ( | const MbPolymesh & | mesh, |
| std::vector< c3d::IndicesVector > & | boundaries | ||
| ) |
Get the open boundary edges of a polymesh.
| [in] | mesh | - A polygonal object with topology. |
| [out] | boundaries | - Arrays of open boundary edges. |
| void GetSegmOpenBoundaries | ( | const MbPolymesh & | mesh, |
| std::vector< c3d::IndicesVector > & | boundaries | ||
| ) |
Get open segmentation boundaries.
| [in] | mesh | - A polygonal object with topology. |
| [out] | boundaries | - Arrays of open boundary edges of a segmentation. |
| MbResultType PolymeshSection | ( | const MbPolymesh & | mesh, |
| const MbPlacement3D & | place, | ||
| c3d::SpaceCurvesSPtrVector & | polylines | ||
| ) |
Create a section contour for a polygonal object.
| [in] | mesh | - A polygonal object with topology. |
| [in] | place | - A cutting plane. |
| [out] | polylines | - The resultant contours. |
| bool CutPolymeshByPlane | ( | const MbPlacement3D & | place, |
| bool | bTriangulate, | ||
| MbPolymesh & | mesh | ||
| ) |
Cut the part of a polygonal object by a plane.
| [in] | place | - A cutting plane. |
| [in] | bTriangulate | - Should cut facets be triangulated. |
| [in,out] | mesh | - A polygonal object with topology. |
| MbResultType ImprintOnPolymesh | ( | const MbPolymeshImprintParams & | params, |
| MbPolymesh & | mesh, | ||
| MbPolymeshImprintResults & | results | ||
| ) |
Imprint a 2D line or a plane on a polygonal object.
| [in] | params | - Imprinting parameters. |
| [in,out] | mesh | - A polygonal object with topology. |
| [out] | results | - Imprinting results. |
| void CopyPolymeshPart | ( | const MbPolymesh & | mesh, |
| const c3d::IndicesVector & | facets, | ||
| MbPolymesh & | meshSub | ||
| ) |
Copy the part of a polygonal object into another polygonal object.
| [in] | mesh | - An original polygonal object. |
| [in] | facets | - A polygonal object with topology. |
| [in,out] | meshSub | - A polygonal object in which data should be copied to. |
| bool IsPolymeshTriangulation | ( | const MbPolymesh & | mesh | ) |
Verify if polymesh is triangulation.
| [in] | mesh | - Polygonal object. |
| MbResultType Remesh | ( | const MbRemeshParams & | params, |
| MbPolymesh & | mesh | ||
| ) |
Remesh a polygonal object.
Remesh a polygonal object. The polymesh must contains only triangle facets. For remeshing by curvature method a curvature attribute must be defined. Deletes curvature and normal attributes. If the polymesh has a shell as a parametric substrate, it will be used for a polymesh vertices projection.
| [in] | params | - The parameters. |
| [in,out] | mesh | - The polymesh. |
| MbResultType CalculatePolymeshCurvatures | ( | const MbMeshCurvatureParams & | params, |
| MbPolymesh & | mesh | ||
| ) |
Calculates mesh curvatures.
Calculates mesh curvatures. Operation result is a curvature half edge attribute inserted into the original polymesh. If mesh has one it will be removed before caclulation.
| [in] | params | - The parameters. |
| [in,out] | mesh | - Polymesh. |
| MbResultType MergePolymeshes | ( | const MbPolymesh & | meshFrom, |
| const MbMergePolymeshParams & | params, | ||
| MbPolymesh & | meshTo | ||
| ) |
Merge a polygonal object with another polygonal object.
| [in] | meshFrom | - A polygonal object, being copied into meshTo. |
| [in] | params | - Merging parameters. |
| [in-out] | meshTo - A polygonal object, accumulating merged objects. |
| MbResultType SmoothPolymesh | ( | const MbMeshSmoothingParams & | params, |
| MbPolymesh & | mesh | ||
| ) |
Smooth a polygonal object using a set of input smoothing parameters.
| [in] | params | - Smoothing parameters. |
| [in-out] | mesh - A polygonal object. |
| MbResultType ProjectPolylineOnPolymesh | ( | MbPolymesh & | mesh, |
| const MbPolylinePolymeshProjectParams & | params, | ||
| MbPolylinePolymeshProjectResults & | results | ||
| ) |
Project a polyline on a polygonal object.
Project a polyline on a polygonal object. In case of projecting a polyline's fragment inside a facet, it splits into new ones, so new edges are created.
| [in-out] | mesh - A polygonal object being projected on. | |
| [in] | params | - Parameters for projecting a polyline on a polymesh. |
| [out] | results | - Result of projecting a polyline on a polymesh. |
| MbResultType FillClosedCurve | ( | const MbFillClosedCurveParams & | params, |
| MbPolymesh & | patch | ||
| ) |
Fill a hole defined by a closed curve.
Fill a hole defined by a closed curve.
| [in] | params | - Filling parameters. |
| [out] | patch | - A patch. |
| MbResultType FillPolymeshHole | ( | const MbFillPolymeshHoleParams & | params, |
| MbPolymesh & | mesh | ||
| ) |
Fill a polygonal object hole.
Fill a polygonal object hole. Some inactive elements can appear during the operation. They can be explicitly removed by the DeleteInactive function afterwards.
| [in] | params | - Filling parameters. |
| [in-out] | mesh - A polygonal object. |
| MbResultType CalculatePolymeshNormals | ( | const MbPolymeshNormalsParams & | params, |
| MbPolymesh & | mesh | ||
| ) |
Calculate normal vectors at the vertices of a polygonal object.
Calculate normal vectors at the vertices of a polygonal object. As a result of the operation, the polygonal object will have a attribute with normals if it did not exist, and will be updated if it did.
| [in] | params | - Parameters for calculation of normal vectors. |
| [in-out] | mesh - A polygonal object. |
| MbResultType CutPolymeshByCurves | ( | const MbCurvePolymeshProjectParams & | params, |
| MbPolymeshProjectResults & | results, | ||
| MbPolymesh & | mesh | ||
| ) |
Cut a polygonal object by a set of curves.
Cut a polygonal object by a set of curves. Some inactive elements can appear during the operation. They can be explicitly removed by the DeleteInactive function afterwards.
| [in] | params | - Parameters for cutting a polymesh with a set of curves. |
| [out] | results | - Results of cutting a polymesh with a set of curves. |
| [in-out] | mesh - A polygonal object being projected on. |
| MbResultType OffsetPolymeshPath | ( | const MbPathPolymeshOffsetParams & | params, |
| MbPolymeshProjectResults & | results, | ||
| MbPolymesh & | mesh | ||
| ) |
Offset polymesh edge paths.
Offset polymesh edge paths. Some inactive elements can appear during the operation. They can be explicitly removed by the DeleteInactive function afterwards.
| [in] | params | - Parameters for polymesh edge paths offsetting. |
| [out] | results | - Results of polymesh edge paths offsetting. |
| [in-out] | mesh - A polygonal object. |
| MbResultType PolymeshBoolean | ( | const MbPolymeshBooleanParams & | params, |
| MbPolymeshBooleanResults & | results, | ||
| MbPolymesh & | mesh0, | ||
| MbPolymesh & | mesh1 | ||
| ) |
Boolean operation for two polygonal objects.
Boolean operation for two polygonal objects. Supports meshes with triangular facets only. The first polygonal object will contain the polymesh with boolean operation result. The second polygonal object will be invalid after operation.
| [in] | params | - The parameters. |
| [out] | results | - The results. |
| [in-out] | mesh0 - The first polygonal object. | |
| [in-out] | mesh1 - The second 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.
| 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 minor radius has to be positive (=0 - value is not fixed). The major radius may be negative if a torus is of "lemon" type (=0 - value is not fixed). The major radius (of centers) has to be greater than the opposite of the minor radius (of a tube): majorRadius>–minorRadius.
| [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. |
|
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 minor radius has to be positive (=0 - value is not fixed). The major radius may be negative if a torus is of "lemon" type (=0 - value is not fixed). The major radius (of centers) has to be greater than the opposite of the minor radius (of a tube): majorRadius>–minorRadius.
| [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. |