C3D Kernel  104598
Functions
Direct Solid Modeling
Geometric Construction Methods
Collaboration diagram for Direct Solid Modeling:

Functions

MbResultType TransformedSolid (MbSolid &solid, MbeCopyMode sameShell, const TransformValues &p, const MbSNameMaker &names, MbSolid *&result)
 Modify a solid by the matrix.
MbResultType CollectFacesForModification (MbFaceShell *shell, MbeModifyingType way, double radius, RPArray< MbFace > &faces)
 Modify a shell by the methods of direct modeling.
MbResultType FaceModifiedSolid (MbSolid &solid, MbeCopyMode sameShell, const ModifyValues &params, const RPArray< MbFace > &faces, const MbSNameMaker &names, MbSolid *&result)
 Modify a shell by the methods of direct modeling.
MbResultType ModifiedNurbsItem (MbSolid &solid, MbeCopyMode sameShell, const NurbsValues &p, const RPArray< MbFace > &faces, const MbSNameMaker &names, MbSolid *&result)
 Replace the specified faces of solid with deformable faces.
MbResultType ModifiedNurbsItem (MbSolid &solid, MbeCopyMode sameShell, const NurbsValues &p, const MbFace &face, const MbSNameMaker &names, MbSolid *&result)
 Replace the specified face of the solid by a deformable face.
MbSurfaceGetControlSurface (const MbFace &face)
 Get the NURBS-surfaces of a face.
MbResultType FaceControlPoints (const MbFace &face, Array2< MbCartPoint3D > &controlPoints, Array2< double > &result)
 Get the control points of the NURBS-surface of a face.
MbResultType NurbsModification (MbSolid &solid, MbeCopyMode sameShell, MbFace *face, MbSurface &faceSurface, Array2< bool > &fixedPoints, const MbSNameMaker &names, MbSolid *&result)
 Deform a face of a solid.
MbResultType NurbsModification (MbSolid &solid, MbeCopyMode sameShell, MbFace *face, const Array2< MbCartPoint3D > &controlPoints, const Array2< double > &weights, Array2< bool > *fixedPoints, const MbSNameMaker &names, MbSolid *&result)
 Deform a face of a solid.
MbResultType NurbsBlockSolid (const MbPlacement3D &place, double ax, double ay, double az, bool outDir, const MbSNameMaker &names, SimpleName name, NurbsBlockValues &param, MbSolid *&result)
 Create a deformable prism.
MbResultType NurbsFaceConjugation (const MbSurfaceIntersectionCurve &curve, bool sences, bool faceSences, const MbSplineSurface &surface, double tension, MbeConjugationType conType, size_t insertNum, MbSplineSurface *&result)
 Create a matched surface.
MbResultType NurbsFaceSimilarity (const MbSurface &originSurface, const MbSplineSurface &surface, bool uToU, bool normSence, MbSplineSurface *&result)
 Create a similar surface.
MbResultType SplineSurfaceSmoothing (const MbSplineSurface &surface, size_t udegree, size_t vdegree, MbSplineSurface *&result)
 Create a smoothed surface.

Function Documentation

MbResultType TransformedSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const TransformValues p,
const MbSNameMaker names,
MbSolid *&  result 
)

Transform a copy of the solid using the matrix calculated by bounding box of solid.

Parameters:
[in]solid- The initial solid.
[in]sameShell- The mode of copying of the initial solid.
[in]p- The transformation parameters.
[in]names- An object for naming the new objects.
[out]result- The modified solid.
Returns:
Returns operation result code.
MbResultType CollectFacesForModification ( MbFaceShell shell,
MbeModifyingType  way,
double  radius,
RPArray< MbFace > &  faces 
)

The method collects the faces of the shell for direct modeling methods:
removal of the faces from a shell (way==dmt_Remove),
removal of the fillet faces from a shell (way==dmt_Purify).
The cylindrical, conical, toroidal, spherical, and revolution periodic faces are collect to remove way. The cylindrical, toroidal, spherical nonperiodic, and fillet faces are collect to purify way.

Parameters:
[in]shell- The initial faces set.
[in]way- Way of the modification.
[in]radius- Radius of collected faces.
[in]faces- Found faces to be modified.
Returns:
Returns action result code.
MbResultType FaceModifiedSolid ( MbSolid solid,
MbeCopyMode  sameShell,
const ModifyValues params,
const RPArray< MbFace > &  faces,
const MbSNameMaker names,
MbSolid *&  result 
)

The method is for one of listed actions below depends of parameters:
1. Removal of the specified faces with the neighborhood from a solid (param.way==dmt_Remove).
2. Creation of a solid from the specified faces with the neighborhood (param.way==dmt_Create).
3. Translation of the specified faces with neighborhood relative to the other faces of the solid (param.way==dmt_Action).
4. Replacement of the specified faces of a solid with the offset faces (param.way==dmt_Offset).
5. Changing of the radius of the specified fillet faces (param.way==dmt_Fillet).
6. Replacement of the specified faces of a solid with a deformable faces for editing (param.way==dmt_Supple).
7. Removal of the specified fillet faces from a solid (param.way==dmt_Purify).

Parameters:
[in]solid- The initial solid.
[in]sameShell- The mode of copying of the initial solid.
[in]params- Parameters of the modification.
[in]faces- Faces to be modified.
[in]names- An object for naming the new objects.
[out]result- The modified solid.
Returns:
Returns operation result code.
MbResultType ModifiedNurbsItem ( MbSolid solid,
MbeCopyMode  sameShell,
const NurbsValues p,
const RPArray< MbFace > &  faces,
const MbSNameMaker names,
MbSolid *&  result 
)

Replace the specified faces of the solid with deformable faces (conversion to NURBS for editing).

Parameters:
[in]solid- The initial solid.
[in]sameShell- The mode of copying of the initial solid.
[in]p- The transformation parameters.
[in]faces- Faces to replace.
[in]names- An object for naming the new objects.
[out]result- The modified solid.
Returns:
Returns operation result code.
MbResultType ModifiedNurbsItem ( MbSolid solid,
MbeCopyMode  sameShell,
const NurbsValues p,
const MbFace face,
const MbSNameMaker names,
MbSolid *&  result 
)

Replace the specified face of the solid by a deformable face (conversion to NURBS for editing).

Parameters:
[in]solid- The initial solid.
[in]sameShell- The mode of copying of the initial solid.
[in]p- The transformation parameters.
[in]face- A face to replace.
[in]names- An object for naming the new objects.
[out]result- The modified solid.
Returns:
Returns operation result code.
MbSurface* GetControlSurface ( const MbFace face)

Create a deformable surface for the initial face.

Parameters:
[in]face- The initial face.
Returns:
Returns NURBS-surfaces of the face.
MbResultType FaceControlPoints ( const MbFace face,
Array2< MbCartPoint3D > &  controlPoints,
Array2< double > &  result 
)

Get a set of the control points of a NURBS-surface of a face and a set of their weights.

Parameters:
[in]face- The initial face.
[out]controlPoints- The control points of the NURBS-surface of the face.
[out]result- The weights of the control points.
Returns:
Returns operation result code.
MbResultType NurbsModification ( MbSolid solid,
MbeCopyMode  sameShell,
MbFace face,
MbSurface faceSurface,
Array2< bool > &  fixedPoints,
const MbSNameMaker names,
MbSolid *&  result 
)

Deform a face of a solid by substitution the control points of NURBS-surface of the face with the given control points.

Parameters:
[in]solid- The initial solid.
[in]sameShell- The mode of copying of the initial solid.
[in]face- A face of a solid to be modified.
[in]faceSurface- The new NURBS-surface of the face.
[in]fixedPoints- The fixed points.
[in]names- An object for naming the new objects.
[out]result- The modified solid.
Returns:
Returns operation result code.
MbResultType NurbsModification ( MbSolid solid,
MbeCopyMode  sameShell,
MbFace face,
const Array2< MbCartPoint3D > &  controlPoints,
const Array2< double > &  weights,
Array2< bool > *  fixedPoints,
const MbSNameMaker names,
MbSolid *&  result 
)

Deform a face of a solid by substitution the control points of NURBS-surface of the face with the given control points.

Parameters:
[in]solid- The initial solid.
[in]sameShell- The mode of copying of the initial solid.
[in]face- A face of a solid to be modified.
[in]controlPoints- The control points of the NURBS-surface of the face.
[in]weights- The weights of the control points.
[in]fixedPoints- The fixed points.
[in]names- An object for naming the new objects.
[out]result- The modified solid.
Returns:
Returns operation result code.
MbResultType NurbsBlockSolid ( const MbPlacement3D place,
double  ax,
double  ay,
double  az,
bool  outDir,
const MbSNameMaker names,
SimpleName  name,
NurbsBlockValues param,
MbSolid *&  result 
)

Create a solid as a right parallelepiped with deformable faces.

Parameters:
[in]place- A local coordinate system.
[in]ax- The size in X-direction.
[in]ay- The size in Y-direction.
[in]az- The size in Z-direction.
[in]outDir- An outer orientation of the normals.
[in]names- An object for naming the new objects.
[in]name- The main name.
[in]param- The parameters of NURBS-surfaces of the parallelepiped faces.
[out]result- The solid constructed from the NU|RBS-surfaces.
Returns:
Returns operation result code.
MbResultType NurbsFaceConjugation ( const MbSurfaceIntersectionCurve curve,
bool  sences,
bool  faceSences,
const MbSplineSurface surface,
double  tension,
MbeConjugationType  conType,
size_t  insertNum,
MbSplineSurface *&  result 
)

Create a modified surface for the initial surface by specifying the conjugation along the curve.

Parameters:
[in]curve- The intersection curve of the edge surfaces.
[in]sences- The edge curve sense in the loop.
[in]faceSences- The adjacent face normal orientation.
[in]surface- The initial spline surface of the face to be modified.
[in]tension- The tension.
[in]conType- The conjugation type.
[in]insertNum- The row number.
[out]result- The NURBS-surface obtained as a result of the modifications.
Returns:
Returns operation result code.
MbResultType NurbsFaceSimilarity ( const MbSurface originSurface,
const MbSplineSurface surface,
bool  uToU,
bool  normSence,
MbSplineSurface *&  result 
)

Create a surface similar to the initial one given the pattern surface.

Parameters:
[in]originSurface- A pattern surface.
[in]surface- The initial spline surface of the face to be modified.
[in]uToU- Whether to keep the parametric direction of the pattern surface.
[in]normSence- Whether to keep the normal direction of the pattern surface.
[out]result- The NURBS-surface obtained as a result of the modifications.
Returns:
Returns operation result code.
MbResultType SplineSurfaceSmoothing ( const MbSplineSurface surface,
size_t  udegree,
size_t  vdegree,
MbSplineSurface *&  result 
)

Perform smoothing of a copy of the initial surface without changing its order and the number of control points.

Parameters:
[in]surface- The initial spline surface of the face to be modified.
[in]udegree- The smoothing surface degree for direction of first parameter of surface.
[in]vdegree- The smoothing surface degree for direction of second parameter of surface.
[out]result- The NURBS-surface obtained as a result of the modifications.
Returns:
Returns operation result code.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines