|
C3D Toolkit
Kernel - 118069, Vision - 2.16.7.1844
|
Functions for operating with curves, surfaces, shells and solids. More...
#include <math_define.h>#include <templ_rp_array.h>#include <op_shell_parameter.h>#include <op_swept_parameter.h>#include <mb_operation_result.h>Classes | |
| class | MbFaceShellProjector |
| Class for projection onto shell. More... | |
Functions | |
| bool | IsMultiShell (const MbFaceShell *shell, bool checkNesting=true) |
| Check if the shell can be subdivided into separate parts. More... | |
| size_t | DetachShells (MbFaceShell &shell, RPArray< MbFaceShell > &parts, bool sort, c3d::IndicesVector *partIndices=nullptr) |
| Separate parts from a shell. More... | |
| size_t | DetachShells (MbFaceShell &shell, c3d::ShellsVector &parts, bool sort, c3d::IndicesVector *partIndices=nullptr) |
| Separate parts from a shell. More... | |
| size_t | DetachShells (MbFaceShell &shell, c3d::ShellsSPtrVector &parts, bool sort, c3d::IndicesVector *partIndices=nullptr) |
| Separate parts from a shell. More... | |
| template<class ShellsVector > | |
| size_t | CreateShells (const MbFaceShell &shell, ShellsVector &parts, bool sort=true) |
| Separate parts from a shell. More... | |
| 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... | |
| bool | UnifyOwnComplanarFaces (MbFaceShell &shell, const MbSNameMaker &nameMaker, bool checkBaseSurfaces) |
| Unite complanar faces. More... | |
| void | FacePropagate (const MbeFacePropagation fp, RPArray< MbFace > &face_set, const MbVector3D &dir) |
| Capture the faces in one of proposed methods. More... | |
| void | MouldCavitySolids (RPArray< MbSolid > &solids, MbCartPoint3D *fixedPoint, double deltaX, double deltaY, double deltaZ) |
| Scale cavities of a mold. More... | |
| bool | IsSolidsIntersection (const MbSolid &solid1, const MbSolid &solid2, const MbSNameMaker &snMaker) |
| Check intersection of solids. More... | |
| bool | IsSolidsIntersection (const MbSolid &solid1, const MbMatrix3D &matr1, const MbSolid &solid2, const MbMatrix3D &matr2, bool checkTangent, bool getIntersectionSolids, bool checkTouchPoints, RPArray< MbShellsIntersectionData > &intData) |
| Check intersection of solids in an assembly. More... | |
| bool | MinimumSolidsDistance (const MbSolid &solid1, const MbMatrix3D &matr1, bool isMultipleUseSolid1, const MbSolid &solid2, const MbMatrix3D &matr2, bool isMultipleUseSolid2, double lowerLimitDistance, bool tillFirstLowerLimit, std::vector< MbShellsDistanceData > &shellsDistanceData) |
| Determine the minimum distance between solids in an assembly. More... | |
| void | MultipleSolidsClassification (const RPArray< MbSolid > &solids, const RPArray< MbSolid > &relativeSolids, std::vector< MbUnitInfo > &info) |
| Classify a set of solids relative to another set of solids. More... | |
| void | GetDistanceToSurface (const MbPlacement3D &pl, const MbCurve *curve, const MbSurface *surf, double &lPlus, double &lMinus) |
| Find the distances from a contour on a plane to a surface. 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... | |
| void | GetDistanceToCube (const MbSurface &surface, const MbVector3D &direction, const MbCurve &curve, const MbCube &cube, double &lPlus, double &lMinus, MbResultType &resType) |
| Find the distances from a contour on a surface to the bounding box of a shell. More... | |
| void | GetDistanceToCube (const MbSurface &surface, const MbVector3D &direction, const RPArray< MbCurve > &curves, const MbCube &cube, double &lPlus, double &lMinus, MbResultType &resType) |
| Find the distances from curves on a surface to the bounding box of a shell. More... | |
| bool | GetDistanceToCube (const MbPlacement3D &pl, const MbFaceShell *shell, double &dPlus, double &dMinus, bool findMax=true) |
| Find the distances from a plane to the bounding box of a shell. More... | |
| void | GetRangeToCubeOrSurface (const MbCurve3D &curve, const MbVector3D &direction, const MbAxis3D &axis, const bool rotation, bool operationDirection, const MbCube *toCube, const MbSurface *toSurface, SweptValuesAndSides ¶ms, MbResultType &resType) |
| Find the distances/angles from a contour to a bounding box or to a surface. More... | |
| bool | GetNearestSolid (const MbNearestSolidParams ¶ms, MbNearestSolidResult &result) |
| Find the nearest solids while extruding with option 'up to the nearest object'. More... | |
| MbResultType | CheckNurbsShell (const NurbsSurfaceValues ¶ms, const MbSolid &nsSolid, IProgressIndicator *progBar) |
| Check a shell or a solid that consists of NURBS surfaces. More... | |
| bool | AddTruncatingSketch (const MbPlacement3D &sketchPlace, RPArray< MbCurve > &sketchCurves, RPArray< MbSpaceItem > &items) |
| Add a sketch to the array of truncating objects. More... | |
| void | AddTruncatingCurve (const MbCurve3D &curve, RPArray< MbSpaceItem > &items) |
| Add a curve to the array of truncating objects. More... | |
| void | CheckShellingFaces (const SweptValues ¶ms, RPArray< MbFace > &faces) |
| Check the correctness of shelling faces for creation of a thin-walled solid. More... | |
| bool | ProjectVectorOn (const MbVector3D &v3d, const MbSurface &surface, const MbCartPoint &p2d, MbVector &v2d) |
| Calculate the components of projection of a vector defined at a point on the surface. More... | |
| MbSurface * | GetExtendedSurfaceCopy (MbCube &gabarit, const MbSurface &surf, const MbShellCuttingParams::ProlongState &prolongState, VERSION version) |
| Extend a surface for cutting a solid. More... | |
| bool | CreateFaces (const MbPlacement3D &place, const MbContour &contour, const MbVector3D &der, bool sense, const MbSNameMaker &n, c3d::FacesSPtrVector &faces, bool useAddCount=false) |
| Create a set of faces with topology of a prism. More... | |
| void | GetAutoReference (MbFaceShell &shell, const MbPlacement3D &place, const MbContour &contour, ptrdiff_t index, RibValues::ExtrudeSide &side, MbCartPoint3D &origin, MbVector3D &dir3D) |
| Estimate parameters of extrusion for a rib. More... | |
| MbCurve * | GetProjCurveOnSurface (const MbSurfaceIntersectionCurve &intersectCurve, bool first) |
| Create a curve in the parameter space of a surface. More... | |
| bool | IsSameSpineDirection (const MbCurve3D &curve, VERSION srcVersion, VERSION dstVersion) |
| Check the invariance of the vector of spine direction in different versions. More... | |
| MbeItemLocation | SecondContourLocation (const MbContour &contour1, const MbContour &contour2, double xEpsilon, double yEpsilon) |
| Classify the position of the second contour relative to the first one. More... | |
| bool | IsSpaceNear (const MbCurve &curve1, const MbCurve &curve2, double xEpsilon, double yEpsilon, double devSag=5.0 *Math::deviateSag) |
| Determine whether the first curve is close to the second curve. More... | |
| bool | IsSpaceNear (const MbCurve3D &curv, const MbSurface &surf, bool surfExt, double mEps, double devSag=5.0 *Math::deviateSag) |
| Determine whether a curve is close to a surface. More... | |
| bool | SurfaceFace (const MbSurface &surface, SPtr< MbFace > &face) |
| Create the face on the base of arbitrary surface. More... | |
| MbGrid * | SpaceGrid (const MbPlacement3D &place, const MbPlanarGrid &planarGrid, bool exact=false) |
| Creating a three-dimensional grid on a two-dimensional grid. More... | |
| MbItem * | ReplaceByInstance (MbItem *item, double ratioThreashhold=-1.0, bool makeCopy=false) |
| Replace an item by an instance if the length from it's bounding box to the world origin is greater than it's diagonal by specified factor. More... | |
| MbResultType | FloodFillResult (MbSolid &vessel, MbeCopyMode sameShell, const MbSweptData &bungData, const MbCartPoint3D &origin, const MbSNameMaker &names, MbSolid *&result) |
| The construction of a "flood fill" volume located between the inner surface of the vessel and the bounding surface or body. More... | |
| MbResultType | CreateFastener (const RPArray< MbSolid > &solids, MbeCopyMode sameShell, const MbCartPoint3D &point, const FastenersValues ¶ms, const MbSNameMaker &names, RPArray< MbSolid > &results) |
| Create fastener using 3D point. More... | |
| MbResultType | CreateFasteners (const RPArray< MbSolid > &solids, MbeCopyMode sameShell, const MbCurve3D &curve, size_t number, const FastenersValues ¶ms, const MbSNameMaker &names, RPArray< MbSolid > &results) |
| Create an array of fastener elements using 3d curve. More... | |
| MbResultType | CreateMerging (MbSolid &solid, MbeCopyMode sameShell, c3d::FacesVector &faces, const MbNurbsParameters &uParam, const MbNurbsParameters &vParam, double tolerance, const MbSNameMaker &names, bool prolong, MbSolid *&result) |
| Create a solid with one face instead selected faces. More... | |
| bool | FindTouchedFaces (const MbSolid &solid1, const MbSolid &solid2, double precision, c3d::IndicesPairsVector &facesNumbers) |
| To find contacted faces of bodies. More... | |
| bool | SplitTouchedFaces (MbSolid &solid1, MbSolid &solid2, double precision, c3d::IndicesPairsVector &facesNumbers) |
| To find contacted faces of bodies. More... | |
| MbResultType | TouchedSolidsMerging (MbSolid &solid1, MbeCopyMode sameShell1, MbSolid &solid2, MbeCopyMode sameShell2, const MbSNameMaker &names, double precision, MbSolid *&result) |
| The function performs unite the bodies with contacted faces. More... | |
| MbResultType | SolidRepairing (MbSolid &solid, double accuracy) |
| Solid repairing. More... | |
| void | FindFilletFaces (const RPArray< MbFace > &faces, double accuracy, RPArray< MbFace > &filletFaces) |
| Find fillet and chamfer faces. More... | |
| bool | IsFilletFace (const MbFace &face, double accuracy) |
| Recognize fillet face. More... | |
| c3d::SolidSPtr | GetTransformedSolid (c3d::SolidSPtr &solid, MbeCopyMode ©Mode, const MbMatrix3D &matr, SimpleName transformedMainName=ct_TransformedSolid) |
| Get transformed copy of a solid. More... | |
| template<class Item > | |
| SPtr< Item > | GetTransformedItem (SPtr< Item > &item, const MbMatrix3D &matr, MbRegDuplicate *iDupReg=nullptr, MbRegTransform *iTransReg=nullptr) |
| Get transformed copy of object. More... | |
Functions for operating with curves, surfaces, shells and solids.