C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
action_shell.h File Reference

Functions for open solids construction. More...

#include <templ_rp_array.h>
#include <templ_s_array.h>
#include <mb_cart_point3d.h>
#include <space_item.h>
#include <op_boolean_flags.h>
#include <op_shell_parameter.h>
#include <op_swept_parameter.h>
#include <topology_faceset.h>
#include <mb_operation_result.h>

Functions

MbResultType PatchShell (const MbPatchShellParams &params, c3d::SolidSPtr &result)
 Create a patch. More...
 
MbResultType LoftedShell (const MbLoftedPointsShellParams &params, c3d::SolidSPtr &result)
 Create an open solid given a set of point groups. More...
 
MbResultType LoftedShell (const MbLoftedCurvesShellParams &params, 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 &params, const MbSNameMaker &operNames, bool isPhantom, MbSolid *&result, IProgressIndicator *progBar)
 Create an open solid from a point set. More...
 
MbResultType NurbsSurfacesShell (MbNurbsSurfacesShellParams &params, 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 &params, 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 &params, const MbSNameMaker &operNames, MbSolid *&result)
 Create an extension of an open solid by extrusion. More...
 
MbResultType ExtensionShell (MbSolid &solid, MbeCopyMode sameShell, const MbExtensionShellParams &params, 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 > &params, bool isAscending)
 Check the curve parameters for creation of a ruled solid. More...
 
MbResultType JoinShell (MbSurfaceCurve &curve1, MbSurfaceCurve &curve2, JoinSurfaceValues &parameters, 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 &parameters, const MbSNameMaker &operNames, MbSolid *&result, bool isPhantom=false)
 Create a joint solid from two sets of edges. More...
 
MbResultType JoinShell (const MbJoinShellParams &parameters, 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 &params, 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...
 
bool CheckJoinedParams (const MbCurve3D &curve, SArray< double > &params, bool isAscending)
 Check the curve parameters for creation of a joint solid. More...
 
MbCurve3DCreateJoinedCurve (const RPArray< MbCurveEdge > &edges, const SArray< bool > &orients, const MbMatrix3D &matr, MbResultType &res)
 Create a curve from a set of edges. More...
 
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. More...
 
MbResultType FacesFillet (const MbFilletData &params, 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 &params, 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 &params, 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 &params, MbMedianShellResults &result)
 Create a median shell by solid faces, based on equidistant surfaces. More...
 
MbResultType RectifyFace (const MbFace &face, const RectifyValues values, MbSolid *&result)
 Construction of a face sweep on a plane. 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 &params, 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 (const c3d::SolidSPtr &solid, MbeCopyMode sameShell, const MbSectionData &data, MbSectionResults &opResult)
 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...
 
MbResultType ExtractBeamElement (const MbSolid &solid, const MbBeamElementParams &params, MbBeamElementResults &results)
 Create a shell-based beam model with constant cross section. More...
 

Detailed Description

Functions for open solids construction.

The geometric kernel C3D supports the surface modeling. The result of surface modeling are elements of geometric model which are called open solids here. Open solids describe not the whole surface of an object of modeling but only a part of it. An open solid often consists of one face. An open solid always contains boundary edges. An open solid describes a point set that belong to faces of the solid only, whereas a closed solid describes a point set on the surface of the modeled object and inside it.