C3D Toolkit
Kernel - 117950, Vision - 2.7.5.29
|
Functions | |
MbResultType | ExtrusionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbVector3D &direction, const ExtrusionValues ¶ms, const MbSNameMaker &operNames, RPArray< MbSNameMaker > &cNames, MbFaceShell *&result) |
Create a shell by extrusion of planar contours. More... | |
MbResultType | RevolutionShell (const MbSurface &surface, RPArray< MbContour > &contours, const MbAxis3D &axis, const RevolutionValues ¶ms, const MbSNameMaker &operNames, RPArray< MbSNameMaker > &cNames, MbFaceShell *&result) |
Create a shell by revolution of planar contours. More... | |
void | CreateExtrusionCutSurfaces (const MbSurface &surface, const c3d::PlaneContoursSPtrVector &contours, const MbVector3D &direction, ExtrusionValues ¶ms, VERSION version, MbResultType &resType, std::vector< std::pair< c3d::SurfaceSPtr, int >> &surfAndDir) |
Create cutter surfaces for extrusion of planar contours. More... | |
MbResultType | OffsetPhantom (const MbSolid &solid, RPArray< MbFace > &outFaces, RPArray< MbFace > &offFaces, SArray< double > &offDists, const SweptValues ¶ms, const MbSNameMaker &operNames, MbFaceShell *&result, size_t *hpShellFaceInd=nullptr) |
Create phantom offset surfaces for faces of a shell. More... | |
MbResultType | LocalCubePhantom (const MbSolid &solid, const MbPlacement3D &place, bool bScale, const MbSNameMaker &operNames, MbSolid *&result) |
Create a phantom of a bounding box in local coordinate system. More... | |
MbResultType | LocalCubePhantom (const MbSolid &solid, const MbLocalCubePhantomParams ¶ms, c3d::SolidSPtr &result) |
Create a phantom of a bounding box in local coordinate system. More... | |
MbResultType | PatchShell (const MbPatchShellParams ¶ms, c3d::SolidSPtr &result) |
Create a patch. More... | |
MbResultType | LoftedShell (const MbLoftedPointsShellParams ¶ms, c3d::SolidSPtr &result) |
Create an open solid given a set of point groups. More... | |
MbResultType | LoftedShell (const MbLoftedCurvesShellParams ¶ms, c3d::SolidSPtr &result) |
Create an open solid from a set of curves. More... | |
MbResultType | OffsetShell (MbSolid &solid, MbeCopyMode sameShell, RPArray< MbFace > &initFaces, bool checkFacesConnection, SweptValues &p, const MbSNameMaker &operNames, bool copyFaceAttrs, MbSolid *&result) |
Create an open offset solid. More... | |
MbResultType | NurbsSurfacesShell (NurbsSurfaceValues ¶ms, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result, IProgressIndicator *progBar) |
Create an open solid from a point set. More... | |
MbResultType | NurbsSurfacesShell (MbNurbsSurfacesShellParams ¶ms, c3d::SolidSPtr &result, IProgressIndicator *progBar) |
Create an open solid from a point set. More... | |
MbResultType | MeshShell (MeshSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result) |
Create an open solid from a set of curves. More... | |
MbResultType | MeshShell (const MbMeshShellParameters ¶ms, c3d::SolidSPtr &result) |
Create a solid from a set of curves. More... | |
MbResultType | TruncateShell (MbSolid &initSolid, SArray< size_t > &selIndices, MbeCopyMode initCopyMode, const MbSNameMaker &operNames, RPArray< MbSpaceItem > &truncatingItems, SArray< bool > &truncatingOrients, bool truncatingSplitMode, MbeCopyMode truncatingCopyMode, const MbMergingFlags &mergeFlags, MbSolid *&result, MbPlacement3D *&resultPlace) |
Truncate an open solid. More... | |
MbResultType | ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, MbFace &face, const RPArray< MbCurveEdge > &edges, const ExtensionValues ¶ms, const MbSNameMaker &operNames, MbSolid *&result) |
Create an extension of an open solid by extrusion. More... | |
MbResultType | ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, const MbExtensionShellParams ¶ms, c3d::SolidSPtr &result) |
Create an extension of an open solid by extrusion. More... | |
MbResultType | RuledShell (RuledSurfaceValues &pars, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result) |
Create an open ruled solid. More... | |
MbResultType | RuledShell (const MbRuledShellParams &ruledParams, MbRuledShellResult &outParams) |
Create an open ruled solid. More... | |
void | CheckRuledCurve (const MbCurve3D &curve0, const MbCurve3D &curve1, bool &isInverted1, bool &isShifted1, VERSION version) |
Check the curve for a ruled solid creation. More... | |
bool | CheckRuledParams (const MbCurve3D &curve, SArray< double > ¶ms, bool isAscending) |
Check the curve parameters for creation of a ruled solid. More... | |
MbResultType | JoinShell (MbSurfaceCurve &curve1, MbSurfaceCurve &curve2, JoinSurfaceValues ¶meters, const MbSNameMaker &operNames, MbSolid *&result) |
Create a joint solid from two curves. More... | |
MbResultType | JoinShell (const RPArray< MbCurveEdge > &edges1, const SArray< bool > &orients1, const RPArray< MbCurveEdge > &edges2, const SArray< bool > &orients2, const MbMatrix3D &matr1, const MbMatrix3D &matr2, JoinSurfaceValues ¶meters, const MbSNameMaker &operNames, MbSolid *&result, bool isPhantom=false) |
Create a joint solid from two sets of edges. More... | |
MbResultType | JoinShell (const MbJoinShellParams ¶meters, MbJoinShellResults &result) |
Create a joint solid from parameters. More... | |
MbResultType | DivideShell (MbSolid &solid, MbeCopyMode sameShell, const RPArray< MbCurveEdge > &edges, const MbSNameMaker &operNames, MbSolid *&result) |
Divide a shell into parts using a given set of edges. More... | |
MbResultType | DivideShell (MbSolid &solid, MbeCopyMode sameShell, const MbDivideShellParams ¶ms, c3d::SolidSPtr &resSolid) |
Divide a shell into parts using a given set of edges. More... | |
void | CheckJoinedCurve (const MbCurve3D &curve1, const MbCurve3D &curve2, bool &isInverted1, bool &isShifted1, VERSION version) |
Check a curve for creation a joint solid. More... | |
MbResultType | FacesFillet (const MbSolid &solid1, const MbFace &face1, const MbSolid &solid2, const MbFace &face2, const SmoothValues ¶ms, const MbSNameMaker &names, MbSolid *&result) |
Create a solid of two non-connected faces. More... | |
MbResultType | FacesFillet (const MbFacesFilletParams ¶ms, c3d::SolidSPtr &result) |
Create a solid of two non-connected faces. More... | |
MbResultType | ElementaryShell (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result) |
Create a solid given an elementary surface. More... | |
MbResultType | SurfaceShell (const MbSurface &surface, const MbSNameMaker &names, MbSolid *&result) |
Create a solid given a surface. More... | |
MbResultType | CutShellSilhouetteContour (MbSolid &solid, MbeCopyMode sameShell, const MbVector3D &eye, const MbSNameMaker &operNames, c3d::SpaceCurvesSPtrVector &outlineCurves, RPArray< MbSolid > &cutSolids) |
Cut a solid by a silhouette contour. More... | |
MbResultType | CutShellSilhouetteContour (const MbCutShellSilhouetteParams ¶ms, MbCutShellSilhouetteResult &result) |
Cut a solid by a silhouette contour. More... | |
MbeStitchResType | StitchShells (const c3d::SolidsSPtrVector &initialSolids, const MbShellStitchParams &stitchParams, c3d::SolidSPtr &resultSolid) |
Stitch faces of several solids into single solid. More... | |
MbResultType | LatheCurves (const MbLatheCurvesParams ¶ms, MbLatheCurvesResult &result) |
Search for lathe axis and construction of lathe elements for the solid. More... | |
MbResultType | LatheCurves (const MbSolid &solid, const MbAxis3D *axis, double angle, MbPlacement3D &position, RPArray< MbCurve > &curves) |
Search for lathe axis and construction of lathe elements for the solid. More... | |
MbResultType | LatheCurve (const MbCurve3D &generatrix, const MbPlacement3D &position, RPArray< MbCurve > &curves) |
Building of curves for lathe section for given curve. More... | |
MbResultType | MedianShell (MbSolid &solid, MbeCopyMode sameShell, const MbMedianShellParams ¶ms, MbMedianShellResults &result) |
Create a median shell by solid faces, based on equidistant surfaces. More... | |
MbResultType | OctaLattice (const MbCartPoint3D &point0, const MbCartPoint3D &point1, const MbCartPoint3D &point2, double xRadius, double yRadius, double zRadius, size_t xCount, size_t yCount, size_t zCount, const MbSNameMaker &names, MbSolid *&result) |
Create a lattice shell. More... | |
MbResultType | OctaLattice (const MbOctaLatticeParams ¶ms, c3d::SolidSPtr &result) |
Create a lattice shell. More... | |
MbResultType | SectionShell (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSectionData &data, c3d::SolidSPtr &result) |
Create a shell on swept mutable section surface. More... | |
MbResultType | SectionShell (MbSolid *solid, MbeCopyMode sameShell, const MbSectionData &data, const MbSNameMaker &operNames, MbSolid *&result) |
Create a shell on swept mutable section surface. More... | |
bool | GetSweptValue (const MbSweptData &sweptData, const MbAxis3D &axis, const MbVector3D &direction, const bool rotation, const bool operationDirection, const MbCartPoint3D &point, double &value) |
Compute the extrusion depth or the rotation angle. More... | |
void | GetSweptImagePosition (const MbCurve3D &generatrix, const MbSurface &surface, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, MbCartPoint &imagePosition, MbResultType &resType) |
Get the initial approximation for image calculation while rotating/extruding. More... | |
void | GetRangeToSurface (const MbSurface &surface, const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, const bool operationDirection, const MbCartPoint &imagePosition, double range[2], MbRect &rectOnSurface, MbResultType &resType) |
Calculate the distances/angles from generating curve to the surface while rotating/extruding. More... | |
void | AnalyzeSurfaceRelationToSweptOperation (const MbSurface &cuttingSurface, const MbCartPoint &imagePosition, const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, bool operationDirection, bool &relativeSense, MbResultType &resType) |
Determine the orientation of a cutting surface relative to the extrusion/revolution solid. More... | |
void | FindPolesAndSeamsInContour (const MbSurface &surface, const MbContour &contour, c3d::IndicesVector &seamsAndPoles) |
Find contour segments corresponding to the seams and poles. More... | |
MbResultType | EvolutionNormalize (const MbSurface &surface, const RPArray< MbContour > &contours, const MbCurve3D &guide, const EvolutionValues ¶meters, MbAxis3D &axis, double &angle, VERSION version) |
Determine the orientation for a generating contour and for a guide curve of kinematics (evolution). More... | |
MbResultType ExtrusionShell | ( | const MbSurface & | surface, |
RPArray< MbContour > & | contours, | ||
const MbVector3D & | direction, | ||
const ExtrusionValues & | params, | ||
const MbSNameMaker & | operNames, | ||
RPArray< MbSNameMaker > & | cNames, | ||
MbFaceShell *& | result | ||
) |
Create a shell by extrusion of planar contours.
Create a shell by extrusion of planar contours.
[in] | surface | - A surface that contains the contours. |
[in] | contours | - A set of planar contours. |
[in] | direction | - An extrusion direction. |
[in] | params | - Parameters of a shell creation. |
[in] | operNames | - An object defining names generation in the operation. |
[in] | cNames | - A set of objects defining names of the contours. |
[out] | result | - Result of the operation - a shell. |
MbResultType RevolutionShell | ( | const MbSurface & | surface, |
RPArray< MbContour > & | contours, | ||
const MbAxis3D & | axis, | ||
const RevolutionValues & | params, | ||
const MbSNameMaker & | operNames, | ||
RPArray< MbSNameMaker > & | cNames, | ||
MbFaceShell *& | result | ||
) |
Create a shell by revolution of planar contours.
Create a shell by revolution of planar contours.
[in] | surface | - A surface that contains the contours. |
[in] | contours | - A set of planar contours. |
[in] | axis | - Rotation axis. |
[in] | params | - Parameters of a shell creation. |
[in] | operNames | - An object defining names generation in the operation. |
[in] | cNames | - A set of objects defining names of the contours. |
[out] | result | - Result of the operation - a shell. |
void CreateExtrusionCutSurfaces | ( | const MbSurface & | surface, |
const c3d::PlaneContoursSPtrVector & | contours, | ||
const MbVector3D & | direction, | ||
ExtrusionValues & | params, | ||
VERSION | version, | ||
MbResultType & | resType, | ||
std::vector< std::pair< c3d::SurfaceSPtr, int >> & | surfAndDir | ||
) |
Create cutter surfaces for extrusion of planar contours.
Create cutter surfaces for extrusion of planar contours and define directions of extrusions.
[in] | surface | - A surface that contains the contours. |
[in] | contours | - A set of planar contours. |
[in] | direction | - An extrusion direction. |
[in] | params | - Parameters of a shell creation. |
[in] | version | - The version of construction. |
[out] | resType | - Operation result code. |
[out] | surfAndDir- | Result of the operation - surfaces and directions relative to parameter direction. |
MbResultType OffsetPhantom | ( | const MbSolid & | solid, |
RPArray< MbFace > & | outFaces, | ||
RPArray< MbFace > & | offFaces, | ||
SArray< double > & | offDists, | ||
const SweptValues & | params, | ||
const MbSNameMaker & | operNames, | ||
MbFaceShell *& | result, | ||
size_t * | hpShellFaceInd = nullptr |
||
) |
Create phantom offset surfaces for faces of a shell.
Create phantom offset surfaces for faces of a shell,
except the faces with specified indices and store them in array 'surfaces'.
After finish working with the surfaces they should be deleted.
[in] | solid | - The initial solid. |
[in] | outFaces | - An array of shelling faces of the solid. |
[in] | offFaces | - An array of faces for which the individual values of thickness are specified. |
[in] | offDists | - An array of individual values of thickness (must be synchronized with the array 'offFaces'). |
[in] | params | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[out] | result | - The operation result. |
[out] | hpShellFaceInd | - The face number in the initial shell for a hot-point creation. |
MbResultType LocalCubePhantom | ( | const MbSolid & | solid, |
const MbPlacement3D & | place, | ||
bool | bScale, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Create a phantom of a bounding box in local coordinate system.
Create a phantom of a bounding box in local coordinate system.
[in] | solid | - The initial solid. |
[in] | place | - A local coordinate system (LCS). |
[in] | bScale | - Whether the LCS is scaling. |
[in] | operNames | - An object for naming the new objects. |
[out] | result | - The phantom of the local bounding box. |
MbResultType LocalCubePhantom | ( | const MbSolid & | solid, |
const MbLocalCubePhantomParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Create a phantom of a bounding box in local coordinate system.
Create a phantom of a bounding box in local coordinate system.
[in] | solid | - The initial solid. |
[in] | params | - List of parameters MbLocalCubePhantomParams. |
[out] | result | - The local bounding box phantom. |
MbResultType PatchShell | ( | const MbPatchShellParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Create a patch.
Create a patch from the specified parameters.
[in] | params | - Operation parameters. |
[out] | result | - The required patch. |
MbResultType LoftedShell | ( | const MbLoftedPointsShellParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Create an open solid given a set of point groups.
Create an open lofted solid whose profiles are defined by splines created from the specified groups of points.
[in] | params | - Operation parameters. Contains information about points, object defining names generation in the operation, identifier. |
[out] | result | - The required shell. |
MbResultType LoftedShell | ( | const MbLoftedCurvesShellParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Create an open solid from a set of curves.
Create an open lofted solids whose profiles are defined by the curves.
[in] | params | - Operation parameters. Contains information about curves, object defining names generation in the operation, identifier. |
[out] | result | - The required shell. |
MbResultType OffsetShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
RPArray< MbFace > & | initFaces, | ||
bool | checkFacesConnection, | ||
SweptValues & | p, | ||
const MbSNameMaker & | operNames, | ||
bool | copyFaceAttrs, | ||
MbSolid *& | result | ||
) |
Create an open offset solid.
Create an open offset solid on the basis of the faces 'initFaces'.
[in] | solid | - The initial solid. |
[in] | sameShell | - Whether to copy the solid. |
[in] | initFaces | - Faces of the initial solid for construction. |
[in] | checkFacesConnection | - Whether to check connectivity of the specified faces. |
[in] | p | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[in] | copyFaceAttrs | - Copy attributes of initial faces to offset faces. |
[out] | result | - The offset shell. |
MbResultType NurbsSurfacesShell | ( | NurbsSurfaceValues & | params, |
const MbSNameMaker & | operNames, | ||
bool | isPhantom, | ||
MbSolid *& | result, | ||
IProgressIndicator * | progBar | ||
) |
Create an open solid from a point set.
Create an open solid from a point set specified in parameters.
[in,out] | params | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[in] | isPhantom | - Create in the phantom mode. |
[out] | result | - The required shell. |
[in,out] | progBar | - A progress indicator of the operation. |
MbResultType NurbsSurfacesShell | ( | MbNurbsSurfacesShellParams & | params, |
c3d::SolidSPtr & | result, | ||
IProgressIndicator * | progBar | ||
) |
Create an open solid from a point set.
Create an open solid from a point set specified in parameters.
[in,out] | params | - The operation parameters. |
[out] | result | - The required shell. |
[in,out] | progBar | - A progress indicator of the operation. |
MbResultType MeshShell | ( | MeshSurfaceValues & | pars, |
const MbSNameMaker & | operNames, | ||
bool | isPhantom, | ||
MbSolid *& | result | ||
) |
Create an open solid from a set of curves.
Create an open solid from a set of curves specified in the parameters.
[in] | pars | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[in] | isPhantom | - Create in the phantom mode. |
[out] | result | - The required shell. |
MbResultType MeshShell | ( | const MbMeshShellParameters & | params, |
c3d::SolidSPtr & | result | ||
) |
Create a solid from a set of curves.
Create a solid from a set of curves specified in the parameters.
[in] | params | - The operation parameters. |
[out] | result | - The required shell. |
MbResultType TruncateShell | ( | MbSolid & | initSolid, |
SArray< size_t > & | selIndices, | ||
MbeCopyMode | initCopyMode, | ||
const MbSNameMaker & | operNames, | ||
RPArray< MbSpaceItem > & | truncatingItems, | ||
SArray< bool > & | truncatingOrients, | ||
bool | truncatingSplitMode, | ||
MbeCopyMode | truncatingCopyMode, | ||
const MbMergingFlags & | mergeFlags, | ||
MbSolid *& | result, | ||
MbPlacement3D *& | resultPlace | ||
) |
Truncate an open solid.
Create an open solid by truncation the initial solid.
[in] | initSolid | - The initial shell. |
[in] | selIndices | - The numbers of selected faces (if the array is empty, the whole shell is selected). |
[in] | initCopyMode | - Whether to copy the initial shells. |
[in] | operNames | - An object for naming the new objects. |
[in] | truncatingItems | - Truncating objects. |
[in] | truncatingOrients | - The truncating objects orientation. |
[in] | truncatingSplitMode | - The curves are used as parting lines. |
[in] | truncatingCopyMode | - Whether to copy the truncating shells. |
[in] | mergeFlags | - Control flags of shell items merging. |
[out] | result | - The truncated shell. |
[out] | resultPlace | - A phantom direction of truncation. |
MbResultType ExtensionShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
MbFace & | face, | ||
const RPArray< MbCurveEdge > & | edges, | ||
const ExtensionValues & | params, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Create an extension of an open solid by extrusion.
Create an extension of an open solid by extension of specified boundary edges of the solid.
An extension can be performed in the following ways: The specified faces can be extended on the given distance. A smoothly connected face can be added to the given face. A face obtained by extrusion of a boundary edge in the given direction can be added to the specified face.
[in] | solid | - The initial shell. |
[in] | sameShell | - Whether to copy the shell. |
[in] | face | - One of the face of the initial shell to be extended. |
[in] | edges | - An array of boundary edges through which to extend the face. |
[in] | params | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[out] | result | - The required shell. |
MbResultType ExtensionShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbExtensionShellParams & | params, | ||
c3d::SolidSPtr & | result | ||
) |
Create an extension of an open solid by extrusion.
Create an extension of an open solid by extension of specified boundary edges of the solid.
An extension can be performed in the following ways: The specified faces can be extended on the given distance. A smoothly connected face can be added to the given face. A face obtained by extrusion of a boundary edge in the given direction can be added to the specified face.
[in] | solid | - The initial shell. |
[in] | sameShell | - Whether to copy the shell. |
[in] | params | - Parameters of extension shell. |
[out] | result | - The required shell. |
MbResultType RuledShell | ( | RuledSurfaceValues & | pars, |
const MbSNameMaker & | operNames, | ||
bool | isPhantom, | ||
MbSolid *& | result | ||
) |
Create an open ruled solid.
Create an open ruled solid from two curves specified in parameters.
[in,out] | pars | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[in] | isPhantom | - Create in the phantom mode. |
[out] | result | - The required shell. |
MbResultType RuledShell | ( | const MbRuledShellParams & | ruledParams, |
MbRuledShellResult & | outParams | ||
) |
Create an open ruled solid.
Create an open ruled solid from two curves specified in parameters.
[in] | ruledParams | - The operation parameters for the creation an open ruled solid. |
[out] | outParams | - Output operation parameters. |
void CheckRuledCurve | ( | const MbCurve3D & | curve0, |
const MbCurve3D & | curve1, | ||
bool & | isInverted1, | ||
bool & | isShifted1, | ||
VERSION | version | ||
) |
Check the curve for a ruled solid creation.
Check the second curve for consistency with the first curve for creation of the open ruled solid and make the necessary modification of the second curve.
[in] | curve0 | - The first curve. |
[in] | curve1 | - The second curve. |
[out] | isInverted1 | - Whether the second curve was inverted. |
[out] | isShifted1 | - Whether the beginning of the first curve was shifted. |
[in] | version | - The version of the operation. |
Check the curve parameters for creation of a ruled solid.
Check the curve parameters and perform the normalization of a closed curve parameters.
[in] | curve | - The curve. |
[in,out] | params | - An array of the curve parameters. |
[in] | isAscending | - Whether the parameters are specified in the ascending order. |
MbResultType JoinShell | ( | MbSurfaceCurve & | curve1, |
MbSurfaceCurve & | curve2, | ||
JoinSurfaceValues & | parameters, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Create a joint solid from two curves.
Create an open joint solid from two curves on a surface.
[in] | curve1 | - The first curve on a surface. |
[in] | curve2 | - The second curve on a surface. |
[in] | parameters | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[out] | result | - The required shell. |
MbResultType JoinShell | ( | const RPArray< MbCurveEdge > & | edges1, |
const SArray< bool > & | orients1, | ||
const RPArray< MbCurveEdge > & | edges2, | ||
const SArray< bool > & | orients2, | ||
const MbMatrix3D & | matr1, | ||
const MbMatrix3D & | matr2, | ||
JoinSurfaceValues & | parameters, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result, | ||
bool | isPhantom = false |
||
) |
Create a joint solid from two sets of edges.
Create an open joint solid from two sets of edges.
[in] | edges1 | - The first group of edges. |
[in] | orients1 | - The edges senses in the first group. |
[in] | edges2 | - The second group of edges. |
[in] | orients2 | - The edges senses in the second group. |
[in] | matr1 | - The matrix of transformation of the first group of edges to the common coordinate system. |
[in] | matr2 | - The matrix of transformation of the second group of edges to the common coordinate system. |
[in] | parameters | - The operation parameters. |
[in] | operNames | - An object for naming the new objects. |
[out] | result | - The required shell. |
[in] | isPhantom | - The operation phantom mode. |
MbResultType JoinShell | ( | const MbJoinShellParams & | parameters, |
MbJoinShellResults & | result | ||
) |
Create a joint solid from parameters.
Create an open joint solid from parameters.
[in] | parameters | - The operation parameters. |
[out] | result | - The operation results. |
MbResultType DivideShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const RPArray< MbCurveEdge > & | edges, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Divide a shell into parts using a given set of edges.
Divide shell into parts using a given set of edges.
[in] | solid | - A shell. |
[in] | sameShell | - Whether to copy the shell. |
[in] | edges | - Set of edges. |
[in] | operNames | - An object for naming the new objects. |
[out] | result | - The required shell. |
MbResultType DivideShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbDivideShellParams & | params, | ||
c3d::SolidSPtr & | resSolid | ||
) |
Divide a shell into parts using a given set of edges.
Divide shell into parts using a given set of edges.
Dividing of the body\shell is performed by removing topological connections in the edges between adjacent faces. When the operation is completed, the entire result will be in the resulting shell. Use the CreateParts or DetachParts functions to separate the shell into parts.
[in] | solid | - A shell. |
[in] | params | - Parameters for the shell division. |
[out] | resSolid | - The resulting shell. |
void CheckJoinedCurve | ( | const MbCurve3D & | curve1, |
const MbCurve3D & | curve2, | ||
bool & | isInverted1, | ||
bool & | isShifted1, | ||
VERSION | version | ||
) |
Check a curve for creation a joint solid.
Check the second curve for consistency with the first curve for creation of the open joint solid and make the necessary modification of the second curve.
[in] | curve1 | - The first curve. |
[in] | curve2 | - The second curve. |
[out] | isInverted1 | - Whether the second curve was inverted. |
[out] | isShifted1 | - Whether the beginning of the first curve was shifted. |
[in] | version | - The version of the operation. |
MbResultType FacesFillet | ( | const MbSolid & | solid1, |
const MbFace & | face1, | ||
const MbSolid & | solid2, | ||
const MbFace & | face2, | ||
const SmoothValues & | params, | ||
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Create a solid of two non-connected faces.
Create an open solid that consists of a fillet face between two non-connected faces.
[in] | solid1 | - The first solid. |
[in] | face1 | - The first solid face to fillet. |
[in] | solid2 | - The second solid. |
[in] | face2 | - The second solid face to fillet. |
[in] | params | - The operation parameters. |
[in] | names | - An object for naming the new objects. |
[out] | result | - The resultant shell (solid). |
MbResultType FacesFillet | ( | const MbFacesFilletParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Create a solid of two non-connected faces.
Create an open solid that consists of a fillet face between two non-connected faces.
[in] | params | - Operation parameters. |
[out] | result | - The resultant shell (solid). |
MbResultType ElementaryShell | ( | const MbSurface & | surface, |
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Create a solid given an elementary surface.
Create a solid which consists of a face with the specified underlying elementary surface.
[in] | surface | - The surface. |
[in] | names | - An object for naming the new objects. |
[out] | result | - The resultant shell. |
MbResultType SurfaceShell | ( | const MbSurface & | surface, |
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Create a solid given a surface.
Create a solid which consists of a face with the specified underlying surface. The surface should have no self-intersections, the bounding curves should be correctly oriented in case of surface MbCurveBoundedSurface.
[in] | surface | - The surface. |
[in] | names | - An object for naming the new objects. |
[out] | result | - The resultant shell. |
MbResultType CutShellSilhouetteContour | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbVector3D & | eye, | ||
const MbSNameMaker & | operNames, | ||
c3d::SpaceCurvesSPtrVector & | outlineCurves, | ||
RPArray< MbSolid > & | cutSolids | ||
) |
Cut a solid by a silhouette contour.
Create solids as a result of cutting a solids by its silhouette contour.
[in] | solid | - The solid. |
[in] | sameShell | - Methods of transferring data while copying shells. |
[in] | eye | - Eye's direction. |
[in] | operNames | - An object defining the names with the version. |
[out] | outlineCurves | - Curves of the silhouette contour. |
[out] | cutSolids | - The resultant solids. |
MbResultType CutShellSilhouetteContour | ( | const MbCutShellSilhouetteParams & | params, |
MbCutShellSilhouetteResult & | result | ||
) |
Cut a solid by a silhouette contour.
Create solids as a result of cutting a solids by its silhouette contour.
[in] | params | - The solid, method of shell copying, the eye's direction, an object defining the names and the version. |
[out] | result | - Curves of the silhouette contour and resultant solids. |
MbeStitchResType StitchShells | ( | const c3d::SolidsSPtrVector & | initialSolids, |
const MbShellStitchParams & | stitchParams, | ||
c3d::SolidSPtr & | resultSolid | ||
) |
Stitch faces of several solids into single solid.
Stitch faces of several solids with coincident edges into single solid. The faces orientation can be changed.
[in] | initialSolids | - An array of solids for stitching. |
[in] | stitchParams | - Shells stitch parameters. |
[out] | resultSolid | - The resultant shell or solid (depends on the flag). |
MbResultType LatheCurves | ( | const MbLatheCurvesParams & | params, |
MbLatheCurvesResult & | result | ||
) |
Search for lathe axis and construction of lathe elements for the solid.
The function searches for lathe axis of rotation faces and builds the curves of lathe-section in a plane.
[in] | params | - Parameters for looking the lathe axis and construction of lathe elements for the solid. |
[out] | result | - The two-dimensional curves located in the XY plane of the local coordinate system. |
MbResultType LatheCurves | ( | const MbSolid & | solid, |
const MbAxis3D * | axis, | ||
double | angle, | ||
MbPlacement3D & | position, | ||
RPArray< MbCurve > & | curves | ||
) |
Search for lathe axis and construction of lathe elements for the solid.
The function searches for lathe axis of rotation faces and builds the curves of lathe-section in a plane.
[in] | solid | - Solid. |
[in] | axis | - Lathe axis, may be null. |
[in] | angle | - The angle, managing the construction of segments which perpendicular to the axis, recomended M_PI_4-M_PI. |
[out] | position | - Plane position of section, axis X is a axis of section. |
[out] | curves | - The curves of section located on plane XY of position. |
MbResultType LatheCurve | ( | const MbCurve3D & | generatrix, |
const MbPlacement3D & | position, | ||
RPArray< MbCurve > & | curves | ||
) |
Building of curves for lathe section for given curve.
The function builds the generatrix track in the XY plane of the local coordinate system as it rotates around the axis X.
[in] | generatrix | - Curve |
[in] | position | - Plane position of section, axis X is a axis of section. |
[out] | curves | - The curve on plane XY of position will be added to container curves. |
MbResultType MedianShell | ( | MbSolid & | solid, |
MbeCopyMode | sameShell, | ||
const MbMedianShellParams & | params, | ||
MbMedianShellResults & | result | ||
) |
Create a median shell by solid faces, based on equidistant surfaces.
Construct a median shell between pair of faces, based on equidistant surfaces. Pair of faces are selected by user or are found by given distance between faces. The faces must belong to the same body.
[in] | solid | - The initial solid. |
[in] | sameShell | - Whether to copy the solid. |
[in] | params | - The median shell parameters. |
[out] | result | - The operation results. |
MbResultType OctaLattice | ( | const MbCartPoint3D & | point0, |
const MbCartPoint3D & | point1, | ||
const MbCartPoint3D & | point2, | ||
double | xRadius, | ||
double | yRadius, | ||
double | zRadius, | ||
size_t | xCount, | ||
size_t | yCount, | ||
size_t | zCount, | ||
const MbSNameMaker & | names, | ||
MbSolid *& | result | ||
) |
Create a lattice shell.
Create a lattice shell on the three control points of the lattice parameters and the number of elements.
[in] | point0 | - The origin of the surface local coordinate system. |
[in] | point1 | - A point specifying the direction of X-axis of the local system and the size of element. |
[in] | point2 | - A point specifying the direction of Y-axis of the local system. |
[in] | xRadius | - The step along the first axis of the local coordinate system. |
[in] | yRadius | - The step along the second axis of the local coordinate system. |
[in] | zRadius | - The step along the third axis of the local coordinate system. |
[in] | xCount | - The number of cells along a first axis of the local coordinate system. |
[in] | yCount | - The number of cells along a second axis of the local coordinate system. |
[in] | zCount | - The number of cells along a third axis of the local coordinate system. |
[out] | result | - The constructed solid. |
MbResultType OctaLattice | ( | const MbOctaLatticeParams & | params, |
c3d::SolidSPtr & | result | ||
) |
Create a lattice shell.
Create a lattice shell on the three control points of the lattice parameters and the number of elements.
[in] | params | - Operation parameters. |
[out] | result | - The constructed solid. |
MbResultType SectionShell | ( | const c3d::SolidSPtr & | solid, |
MbeCopyMode | sameShell, | ||
const MbSectionData & | data, | ||
c3d::SolidSPtr & | result | ||
) |
Create a shell on swept mutable section surface.
Create a face of shell by moving the generating curve along the spine curve and perform the Boolean operation with the shell if it is specified.
The function simultaneously creates the shell and its constructor.
[in] | solid | - The shell the construction is complemented with respect to. |
[in] | sameShell | - The method of copying faces of shell. |
[in] | data | - Data about swept mutable section surface. |
[out] | result | - The constructed shell. |
MbResultType SectionShell | ( | MbSolid * | solid, |
MbeCopyMode | sameShell, | ||
const MbSectionData & | data, | ||
const MbSNameMaker & | operNames, | ||
MbSolid *& | result | ||
) |
Create a shell on swept mutable section surface.
Create a face of shell by moving the generating curve along the spine curve and perform the Boolean operation with the shell if it is specified.
The function simultaneously creates the shell and its constructor.
[in] | solid | - The shell the construction is complemented with respect to. |
[in] | sameShell | - The method of copying faces of shell. |
[in] | data | - Data about swept mutable section surface. |
[in] | operNames | - Generating face names. |
[out] | result | - The constructed shell. |
bool GetSweptValue | ( | const MbSweptData & | sweptData, |
const MbAxis3D & | axis, | ||
const MbVector3D & | direction, | ||
const bool | rotation, | ||
const bool | operationDirection, | ||
const MbCartPoint3D & | point, | ||
double & | value | ||
) |
Compute the extrusion depth or the rotation angle.
Compute 'value' - the extrusion depth or the rotation angle (0.0 : M_PI2) for the further construction of a solid by extrusion or revolution of the generating curve.
[in] | sweptData | - The generating curve data. |
[in] | axis | - Rotation axis. |
[in] | direction | - An extrusion direction. |
[in] | rotation | - Rotation or extrusion. |
[in] | operationDirection | - Forward or backward direction. |
[in] | point | - The point to rotate or extrude the surface up to. |
[out] | value | - The extrusion depth or the rotation angle. |
void GetSweptImagePosition | ( | const MbCurve3D & | generatrix, |
const MbSurface & | surface, | ||
const MbVector3D & | direction, | ||
const MbAxis3D & | axis, | ||
const bool | rotation, | ||
MbCartPoint & | imagePosition, | ||
MbResultType & | resType | ||
) |
Get the initial approximation for image calculation while rotating/extruding.
Compute the position of a generating curve point image on a surface for further solid construction by extrusion or revolution of the generating curve up to the specified surface.
[in] | generatrix | - The curve. |
[in] | surface | - The surface to construct up to. |
[in] | direction | - An extrusion direction. |
[in] | axis | - Rotation axis. |
[in] | rotation | - Rotation (true) or extrusion (false) |
[out] | imagePosition | - The image point on the surface. |
[out] | resType | - Operation result code. |
void GetRangeToSurface | ( | const MbSurface & | surface, |
const MbCurve3D & | curve, | ||
const MbVector3D & | direction, | ||
const MbAxis3D & | axis, | ||
const bool | rotation, | ||
const bool | operationDirection, | ||
const MbCartPoint & | imagePosition, | ||
double | range[2], | ||
MbRect & | rectOnSurface, | ||
MbResultType & | resType | ||
) |
Calculate the distances/angles from generating curve to the surface while rotating/extruding.
Calculate the extrusion depths in forward and backward directions or the rotating angles in forward and backward directions for further solid construction by extrusion or revolution of the generating curve up to the specified surface; and also calculate the bounding box of the curve image.
[in] | surface | - The surface to construct up to. |
[in] | curve | - The generating curve. |
[in] | direction | - An extrusion direction. |
[in] | axis | - Rotation axis. |
[in] | rotation | - Revolution (true) or extrusion (false). |
[in] | operationDirection | - The motion direction: forward (true) or backward (false). |
[out] | imagePosition | - A point on a surface part that contains the image. |
[out] | range | - The distance to surface in the backward and the forward directions. |
[out] | rectOnSurface | - The bounding box of image on the surface. |
[out] | resType | - Operation result code. |
void AnalyzeSurfaceRelationToSweptOperation | ( | const MbSurface & | cuttingSurface, |
const MbCartPoint & | imagePosition, | ||
const MbCurve3D & | curve, | ||
const MbVector3D & | direction, | ||
const MbAxis3D & | axis, | ||
const bool | rotation, | ||
bool | operationDirection, | ||
bool & | relativeSense, | ||
MbResultType & | resType | ||
) |
Determine the orientation of a cutting surface relative to the extrusion/revolution solid.
Determine the orientation of a cutting surface relative to the solid which is to be constructed by extrusion or revolution the generation curve up to the specified surface.
[in] | cuttingSurface | - A surface to analyze. |
[in] | imagePosition | - An image location on the surface. |
[in] | curve | - The generating curve. |
[in] | direction | - An extrusion direction. |
[in] | axis | - Rotation axis. |
[in] | rotation | - Revolution (true) or extrusion (false). |
[in] | operationDirection | - The motion direction: forward (true) or backward (false). |
[out] | relativeSense | - The surface orientation relative to the operation. |
[out] | resType | - Operation result code. |
void FindPolesAndSeamsInContour | ( | const MbSurface & | surface, |
const MbContour & | contour, | ||
c3d::IndicesVector & | seamsAndPoles | ||
) |
Find contour segments corresponding to the seams and poles.
Find contour segments corresponding to the seams and poles.
[in] | surface | - Surface. |
[in] | contour | - Contour. |
[out] | seamsAndPoles | - Segment numbers corresponding to the seams and poles. |
MbResultType EvolutionNormalize | ( | const MbSurface & | surface, |
const RPArray< MbContour > & | contours, | ||
const MbCurve3D & | guide, | ||
const EvolutionValues & | parameters, | ||
MbAxis3D & | axis, | ||
double & | angle, | ||
VERSION | version | ||
) |
Determine the orientation for a generating contour and for a guide curve of kinematics (evolution).
Orientate the generating contour and the guide curve for a sweeping solid construction.
[in] | surface | - The surface. |
[in] | contours | - Generating contours. |
[in] | guide | - The spine curve. |
[in] | parameters | - The operation parameters. |
[out] | axis | - The axis for the generating curve additional turn. |
[out] | angle | - The additional turn for generating line. |
[in] | version | - The version of the operation. |