C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
+ Collaboration diagram for Data Structures:

Classes

class  MbTempCircle
 Auxiliary circle. More...
 
class  CosinusoidPar
 Parameters of a sinusoid creation. More...
 
struct  Polyline3DPoint
 Point parameters for creation of a polyline. More...
 
struct  MbFairCreatorResult
 The result of creating or a fair curve creator. More...
 
struct  DoubleTriple
 Coordinates for Nurbs-vector. More...
 
class  MbNURBSVector
 Nurbs-vector. More...
 
struct  MbLump
 Solid, matrix of its transformation and identifiers of owners. More...
 
struct  MbLumpCube
 Solid bounding box, matrix of its transformation and identifiers of owners. More...
 
class  MbStepData
 Data for step calculation. More...
 
struct  MbFormNote
 Way for polygonal object constructing. More...
 
struct  MbControlData
 The data for two-dimensional object control. More...
 
struct  MbControlData3D
 The data for three-dimensional object control. More...
 
struct  MbFairCurveData
 The parameters of the construction of smooth curves based on a three-dimensional polyline. More...
 
struct  MbFairCurveMethod
 Definition of a method of smooth curves creation. More...
 
class  MbObjectChangeSignal< Object >
 Class for notifying objects about changes of a certain object. More...
 
class  MbObjectChangeSignalOne< Object >
 Class for notifying a single object about changes of a certain object. More...
 
class  MbCurveIntoNurbsInfo
 Additional information for transformation of a curve or surface to NURBS. More...
 
struct  MbNurbsParameters
 Parameters for the construction of a NURBS copy of the object. More...
 
class  MbNurbsCopyCurveResult
 Output data for create NURBS copy of curve. More...
 
class  MbNurbsCopySurfaceResult
 Output data for create NURBS copy of surface. More...
 
struct  MbNurbsPointInfo
 Parameters of knot point of the object spline copy. More...
 
struct  MbApproxWeightConstraint< Vector >
 Parameters for the approximation by a NURBS curve. More...
 
class  MbApproxNurbsParameters< Point, Vector, Nurbs >
 Parameters for the approximation polyline by a NURBS curve. More...
 
struct  MbApproxError
 Approximation error information. More...
 
class  MbCurveExtensionEnds
 Parameters of extension of the one curve end. More...
 
class  MbCurveExtensionLinear
 Parameters of extension of the one curve end by tangent. More...
 
class  MbCurveExtensionCircular
 Parameters of extension of the one curve end by osculating circle. More...
 
class  MbCurveExtensionNatural
 Parameters of extension of the one curve end by natural way. More...
 
class  MbCurveExtensionParameters
 Parameters of the curve extension. More...
 
class  MbCurveExtensionParameters3D
 Parameters of the curve extension. More...
 
struct  MbCornerChamferParams
 Parameters for the chamfer creation. More...
 
class  MbContourChamferParams
 Parameters for the 3d-contour chamfers creation. More...
 
struct  MbClothoidParams
 Parameters for a clothoid creation. More...
 
struct  MbFairCreateData
 The parameters of the construction of smooth curves based on a three-dimensional polyline. More...
 
struct  MbFairFilletData
 The parameters of the construction of smooth fillet curves based on a three-dimensional polyline. More...
 
struct  MbFairChangeData
 The parameters for modifying smooth curves. More...
 
struct  MbFairCurveParams
 The parameters of creating or changing a fair curve. More...
 
struct  MbFairCurveResult
 The result of creating or changing a fair curve. More...
 
class  MbPartSolidIndex
 Identifier of the part of the solid. More...
 
class  MbPartSolidIndices
 Identifiers of the parts of the solid. More...
 
struct  MbPartSolidData
 Information about the solid part. More...
 
class  MbSketchErrors
 A set of errors is the result of a sketch diagnosis. More...
 
class  MbSketchCheckParameters
 Sketch diagnostic parameters. More...
 
struct  MbPositionData
 Data for operation dimensions. More...
 
struct  MbEdgeSequence
 Sequence of edges. More...
 
class  MbShellHistory
 Faces history. More...
 
class  MbWeightMatrix
 Weights of a NURBS surface. More...
 
struct  MbSpacePntTwoVects
 Point and two normalized vectors, and their lengths. More...
 
class  MbCurveTessellation
 Curve tessellation. More...
 
class  MbSurfaceTessellation
 Surface tessellation. More...
 
class  MbSurfaceWorkingData
 Points and Derivative Surfaces. More...
 
class  MbSurfaceContiguousData
 Additional (related) surface data. More...
 
class  MbCheckTopologyParams
 Parameters of validation of the shell. More...
 
struct  MbEdgeFunction
 A structure for edge and function transferring or supporting curve. More...
 
struct  MbUnitInfo
 Information about arbitrary element. More...
 
class  MbPntLoc
 An object with information about the point location relative to the shell. More...
 
class  MbSpaceContourCreationParams
 The parameters of creating a contour. More...
 
class  MbSpaceContourCreationResults< Item >
 The result of creating a contour. More...
 
class  MbWireFramePoint
 Wire frame point. More...
 

Enumerations

enum class  MbBaseHotPointAttribute::MbeHotPointType : uint16 {
  MbBaseHotPointAttribute::undefinedHP = 0 , MbBaseHotPointAttribute::draftHP , MbBaseHotPointAttribute::conicSectionHP , MbBaseHotPointAttribute::DMFilletRadiusSetHP ,
  MbBaseHotPointAttribute::elementaryHP , MbBaseHotPointAttribute::DMReplaceFacesHP , MbBaseHotPointAttribute::DMOffsetFacesHP , endHP = SYS_MAX_INT16
}
 The hot point type. More...
 
enum  MbeObjectChangeType
 Type of changes in object. More...
 
enum  MbeNewtonResult { nr_Failure = -1 , nr_Special = 0 , nr_Success = 1 , nr_Specific = 2 }
 The result of the iterative method. More...
 
enum  MbeItemLocation {
  iloc_Undefined = -3 , iloc_Unknown = -2 , iloc_OutOfItem = -1 , iloc_OnItem = 0 ,
  iloc_InItem = 1 , iloc_ByItem = 2
}
 The position of an object. More...
 
enum  MbeLocation { loc_Undefined = iloc_Unknown , loc_Outside = iloc_OutOfItem , loc_OnCurve = iloc_OnItem , loc_Inside = iloc_InItem }
 Two-dimensional point position. More...
 
enum  MbeState { dp_NoChanged = 0 , dp_Changed , dp_Degenerated }
 Object condition after modification. More...
 
enum  MbeProcessState {
  mps_Error = -3 , mps_Skip = -2 , mps_Stop = -1 , mps_Success = 0 ,
  mps_SelfIntersect = 24
}
 State of the process. More...
 
enum  MbeSenseValue { orient_BOTH = 0 , orient_FORWARD , orient_BACK }
 Direction. More...
 
enum  MbeSplineParamType { spt_Unstated = 0 , spt_EquallySpaced = 1 , spt_ChordLength = 2 , spt_Centripetal = 3 }
 The parameterization type of spline objects. More...
 
enum  MbeNurbsCurveForm {
  ncf_Unspecified = 0 , ncf_PolylineForm , ncf_CircularArc , ncf_EllipticArc ,
  ncf_ParabolicArc , ncf_HyperbolicArc , ncf_BezierForm , ncf_HermitForm ,
  ncf_SurfacePoleForm , ncf_FairCurveForm
}
 Types of NURBS-curve forms. More...
 
enum  MbeMatingType {
  trt_None = -1 , trt_Position = 0 , trt_Tangent = 1 , trt_Normal = 2 ,
  trt_SmoothG2 = 3 , trt_SmoothG3 = 4
}
 The conjugation type. More...
 
enum  MbePatchMatingType { pmt_None = 0 , pmt_Tangent = 1 , pmt_SmoothG2 = 2 }
 The conjugation type by patch curve. More...
 
enum  MbeConjugationType { cjt_NormPlus = 0 , cjt_NormMinus = 1 , cjt_G1Plus = 2 , cjt_G1Minus = 3 }
 The type of conjugation by edges. More...
 
enum  MbeDirectSmoothType { dst_None = -1 , dst_Convex = 0 , dst_Concave = 1 , dst_Smooth = 2 }
 The type of blending. More...
 
enum  MbeItemGridType { igt_Rectangular = 0 , igt_Concentric = 1 , igt_Hexagonal = 2 }
 Types of two-dimensional mesh. More...
 
enum  MbeParamDir { pd_DirU = 0 , pd_DirV = 1 }
 Direction on the surface. More...
 
enum  MbeCurveBuildType { cbt_Boundary = -1 , cbt_Ordinary = 0 , cbt_Specific = 1 , cbt_Tolerant = 2 }
 Types of surfaces intersection curve by construction. More...
 
enum  MbeSurfaceType { sst_OrdinarySurface = 0 , sst_SpecificSurface = 1 }
 Types of blend surface. More...
 
enum  MbeCurveGlueType {
  cgt_Unknown = 0 , cgt_Pole = 1 , cgt_Edge = 2 , cgt_Stitch = 3 ,
  cgt_Split = 4
}
 Curve types of surfaces intersection by topology. More...
 
enum  MbeStepType {
  ist_SpaceStep = 0x01 , ist_DeviationStep = 0x02 , ist_MetricStep = 0x04 , ist_ParamStep = 0x08 ,
  ist_CollisionStep = 0x10 , ist_MipStep = 0x20
}
 Methods of calculation of parameter increment by the object. More...
 
enum  MbeLabelState {
  ls_None = -1 , ls_Null = 0 , ls_Used = 1 , ls_Delete = 2 ,
  ls_Rebuild = 3 , ls_FirstPass = 4 , ls_SecondPass = 5 , ls_Error = 6 ,
  ls_Doubtful = 7 , ls_TempMark = 8
}
 Working label. More...
 
enum  MbeSmoothForm {
  st_Unknown = -2 , st_Span = -1 , st_Fillet = 0 , st_Chamfer = 1 ,
  st_Slant1 = 2 , st_Slant2 = 3
}
 Methods of construction of a blend surface (fillet or chamfer). More...
 
enum  OperationType {
  bo_Internal = -4 , bo_External = -3 , bo_Intersect = -2 , bo_Difference = -1 ,
  bo_Unknown = 0 , bo_Union = 1 , bo_Base = 2 , bo_Variety = 3
}
 Types of boolean operations on solids. More...
 
enum  RegionOperationType { rbo_Intersect = -2 , rbo_Difference = -1 , rbo_Unknown = 0 , rbo_Union = 1 }
 Types of boolean operations on two-dimensional regions. More...
 
enum  MbeConnectingType {
  ft_Fillet = 0 , ft_OnSurface = 1 , ft_Spline = 2 , ft_Double = 3 ,
  ft_Bridge = 4
}
 Methods of curves conjugation. More...
 
enum  MbeCopyMode { cm_Same = 0 , cm_KeepHistory , cm_KeepSurface , cm_Copy }
 Methods of transferring data while copying shells. More...
 
enum  MbeCurveDerivativeType {
  cdt_CurPoint = 0 , cdt_FirstDer , cdt_SecondDer , cdt_ThirdDer ,
  cdt_CountDer
}
 Supported types of derivatives on the curve. More...
 
enum  MbeSurfaceDerivativeType {
  sdt_SurPoint = 0 , sdt_DeriveU , sdt_DeriveV , sdt_DeriveUU ,
  sdt_DeriveUV , sdt_DeriveVV , sdt_DeriveUUU , sdt_DeriveUUV ,
  sdt_DeriveUVV , sdt_DeriveVVV , sdt_Normal , sdt_NormalU ,
  sdt_NormalV , sdt_NormalUU , sdt_NormalUV , sdt_NormalVV ,
  sdt_CountNor , sdt_CountDer = sdt_Normal
}
 Supported types of derivatives on the surface. More...
 
enum  MbePoleLocation {
  pln_None = -1 , pln_MinU = 0 , pln_MaxU = 1 , pln_MinV = 2 ,
  pln_MaxV = 3
}
 Location of the poles. More...
 
enum  MbeSurfacePoleType { spt_Undefined = 0 , spt_Point , spt_Curve }
 Surface border type. More...
 
enum  MbeOffsetType { off_Empty = 0 , off_Const = 1 , off_Linea = 2 , off_Cubic = 3 }
 Types of points offset displacement for offset curves and offset surfaces from base objects. More...
 
enum  MbeProgBarId_Common {
}
 Identifiers of the execution progress indicator messages. More...
 
enum  MbeProgBarId_PointsSurface {
}
 Identifiers of the execution progress indicator messages. Surface by points layer(grid). More...
 
enum  MbeProgBarId_Mesh { pBar_SimplifyMesh_byTrianglesCount = pbarId_PointsSurface_End + 1 , pBar_SimplifyMesh_byTolerance }
 Identifiers of the execution progress indicator messages different algorithms for meshes. More...
 
enum  MbeFairSubdivision { fairSubdiv_No = 0 , fairSubdiv_Single = 1 , fairSubdiv_Double = 2 , fairSubdiv_Thrice = 3 }
 Construction of smooth curves based on a three-dimensional polyline. Curve subdivision coefficient. More...
 
enum  MbeFairCurvature { fairCur_No = 0 , fairCur_Start = 1 , fairCur_End = 2 , fairCur_Both = 3 }
 Construction of smooth curves based on a three-dimensional polyline. Accounting for curvature at end points. More...
 
enum  MbeFairApprox { fairApprox_KnotsSpline = 0 , fairApprox_IsoSpline = 1 , fairApprox_IsoNurbs = 2 }
 Construction of smooth curves based on a three-dimensional polyline. Approx method. More...
 
enum  MbeFairSplineFormat { fairFormat_HalfOpened = 0 , fairFormat_Open = 1 , fairFormat_Close = 2 , fairFormat_GB = 3 }
 Construction of smooth curves based on a three-dimensional polyline. Spline Format. More...
 
enum  MbeFairSmoothing {
  fairSmooth_No = 0 , fairSmooth_Yes = 1 , fairSmooth_FixAng = 2 , fairSmooth_Noisy = 3 ,
  fairSmooth_NoisyMidline = 4
}
 Construction of smooth curves based on a three-dimensional polyline. Smoothing. More...
 
enum  MbeFairMethod { fairMethod_Polyline = 1 , fairMethod_Tangent = 2 , fairMethod_GDHermite = 3 }
 Creation method of fair curve. More...
 
enum  MbeFairWarning {
  fwarn_Success = 0 , fwarn_IncorrectFirstTang = 1 , fwarn_StraightFirstSite = 2 , fwarn_IncorrectPolylines = 3 ,
  fwarn_IncorrectFixPntTng = 4 , fwarn_BadAccuracyFixPntTng = 5 , fwarn_BadStructureFixPntTng = 6 , fwarn_BadPositionFixPntTng = 7 ,
  fwarn_CriticalConfig = 8 , fwarn_CantSetCurvature = 9 , fwarn_AccuracyCritical = 10 , fwarn_AccuracyStraight = 11 ,
  fwarn_BadAccuracy = 13 , fwarn_BadInflection = 15 , fwarn_CurvatureOutOfRange = 16 , fwarn_SawtoothPolyline = 17
}
 Warnings of fair curve creation. More...
 
enum  MbeFairDataType {
  fairData_None = 0 , fairData_Polyline = 1 , fairData_Tangent = 2 , fairData_GDHermite = 3 ,
  fairData_GDHPoly = 4 , fairData_GDHTangent = 5
}
 Type of input data for creating a fair curve. More...
 
enum  MbeFairChangeType {
  fairChange_None = 0 , fairChange_Elevate = 1 , fairChange_Subdivide = 2 , fairChange_Change = 3 ,
  fairChange_AddKnot = 4 , fairChange_AddExtr = 5 , fairChange_Conic = 6 , fairChange_Reparam = 7
}
 Method of modifying a fair curve. More...
 
enum  MbeFairCurveType {
  fairCrvType_None = 0 , fairCrvType_Bezier = 1 , fairCrvType_BSpline = 2 , fairCrvType_HermiteGD = 3 ,
  fairCrvType_Clothoid = 4 , fairCrvType_Sectrix = 5 , fairCrvType_BezierFillet = 6 , fairCrvType_Poly = 7 ,
  fairCrvType_PolyTangent = 8
}
 Type of a fair curve to be created. More...
 
enum  MbePairObjectsSelection { pos_First = 0 , pos_Second = 1 , pos_Both = 2 }
 Selection from a pair of objects. More...
 
enum  MbeSplineCreateType { sct_Version0 = 0 , sct_Version1 = 1 , sct_Version2 = 2 }
 Flag defining creation of spline passing through points. More...
 
enum  MbeStitchResType {
  stch_Success = 0 , stch_PrepareError , stch_CoorientFaceError , stch_SomeEdgesUnstitched ,
  stch_OutwardOrientError , stch_NoEdgeWasStitched , stch_SeparatePartsResult , stch_EdgeStitchError ,
  stch_InputTopologyError
}
 The "stitching" operation result. More...
 
enum  MbeSmoothingMethod { sm_Curvature , sm_CurvatureVariance }
 NURBS smoothing method. More...
 
enum  MbeMultithreadedMode { mtm_Off = 0 , mtm_Standard = 1 , mtm_SafeItems = 2 , mtm_Items = 3 , mtm_Max = 31 }
 Multithreading modes. More...
 

Functions

template<class Point >
double ParameterizeByLength (const std::vector< Point > &aPt, c3d::DoubleVector &aPrm, double epsDegenerated=PARAM_EPSILON)
 Parameterization by length. More...
 

Detailed Description

Enumeration Type Documentation

◆ MbeHotPointType

The hot point type.

The hot point type by operation.

Enumerator
undefinedHP 

Undefined type.

draftHP 

The draft operation hot point.

conicSectionHP 

The conic section operation hot point.

DMFilletRadiusSetHP 

The direct modeling operation's hot point by set fillet face's radius.

elementaryHP 

The elementary solid operation hot point.

DMReplaceFacesHP 

Hot point of the face replacement operation.

DMOffsetFacesHP 

Hot point of the operation of replacement faces with the offset ones.

◆ MbeObjectChangeType

Type of changes in object.

Type of changes in object. Used when signaling about changes.

◆ MbeNewtonResult

The result of the iterative method.

The result of the iterative method reports about finding solutions.

Enumerator
nr_Failure 

The solution wasn't found.

nr_Special 

The solution has not converged for a specified number of iterations.

nr_Success 

The solutions was found.

nr_Specific 

Correction is required.

◆ MbeItemLocation

The position of an object.

The position of an object relative to another object.

Enumerator
iloc_Undefined 

Not defined.

iloc_Unknown 

Failed to define.

iloc_OutOfItem 

Outside the object.

iloc_OnItem 

On the object (on the boundary).

iloc_InItem 

Inside the object.

iloc_ByItem 

Conditionally inside the object (for non-closed shells).

◆ MbeLocation

Two-dimensional point position.

Two-dimensional point position relative to the curve.

Enumerator
loc_Undefined 

Failed to define, curve is not closed.

loc_Outside 

Outside the curve.

loc_OnCurve 

On the curve.

loc_Inside 

Inside the curve.

◆ MbeState

enum MbeState

Object condition after modification.

Used to determine the state of the curve after the cutting.

Enumerator
dp_NoChanged 

The object is not changed.

dp_Changed 

The object has changed.

dp_Degenerated 

The object has degenerated.

◆ MbeProcessState

State of the process.

State of the process reports about progress of work of function, operation, etc.

Enumerator
mps_Error 

Error.

mps_Skip 

Has been skipped.

mps_Stop 

Has been stopped.

mps_Success 

Done.

mps_SelfIntersect 

Done. Self-intersecting object.

◆ MbeSenseValue

Direction.

The direction of a movement relative to the base object.

Enumerator
orient_BOTH 

Both directions (nonoriented).

orient_FORWARD 

Forward direction.

orient_BACK 

Backward direction.

◆ MbeSplineParamType

The parameterization type of spline objects.

The parameterization type of spline objects.

Enumerator
spt_Unstated 

Unstated.

spt_EquallySpaced 

Equally spaced.

spt_ChordLength 

By the chord length (the distance between the points).

spt_Centripetal 

Centripetal (square root of the distance between the points).

◆ MbeNurbsCurveForm

Types of NURBS-curve forms.

Types of spline NURBS-curve forms

Enumerator
ncf_Unspecified 

Undefined form.

ncf_PolylineForm 

Polyline.

ncf_CircularArc 

Circle arc.

ncf_EllipticArc 

Ellipse arc.

ncf_ParabolicArc 

Parabola arc.

ncf_HyperbolicArc 

Hyperbola arc.

ncf_BezierForm 

Bezier spline.

ncf_HermitForm 

Hermite spline.

ncf_SurfacePoleForm 

Spline in the pole of surface.

ncf_FairCurveForm 

Fair curve.

◆ MbeMatingType

The conjugation type.

The conjugation type defines the method of conjugation of spline boundary with contact objects.

Enumerator
trt_None 

Without conjugations.

trt_Position 

The connection by the position (equivalent to tt_SmoothG0).

trt_Tangent 

Tangential connection (equivalent to tt_SmoothG1).

trt_Normal 

Perpendicular connection (equivalent to tt_SmoothG1).

trt_SmoothG2 

The smooth connection by the first derivative of the tangent (the curvature).

trt_SmoothG3 

The smooth conjugation by the second derivative of the tangent. //-V112.

◆ MbePatchMatingType

The conjugation type by patch curve.

The conjugation type by patch curve.

Enumerator
pmt_None 

Without conjugations.

pmt_Tangent 

Tangential conjugation

pmt_SmoothG2 

The smooth conjugation by the first derivative of the tangent (the curvature).

◆ MbeConjugationType

The type of conjugation by edges.

The type of conjugation by edges defines the method of conjugation of face surface with surface of adjacent faces by face edge

Enumerator
cjt_NormPlus 

The type of conjugation by normal in the positive direction of face normal vector.

cjt_NormMinus 

The type of conjugation by normal in the negative direction of face normal vector.

cjt_G1Plus 

The type of conjugation by tangent to the surface, to the left in the direction of intersection curve tangent.

cjt_G1Minus 

The type of conjugation by tangent to the surface, to the right in the direction of intersection curve tangent.

◆ MbeDirectSmoothType

The type of blending.

The type of blending while moving nodes in the process of direct editing.

Enumerator
dst_None 

Without blending.

dst_Convex 

Convex.

dst_Concave 

Concave.

dst_Smooth 

Smooth transition.

◆ MbeItemGridType

Types of two-dimensional mesh.

Types of two-dimensional mesh.

Enumerator
igt_Rectangular 

Rectangular mesh.

igt_Concentric 

Concentric mesh.

igt_Hexagonal 

Hexagonal mesh.

◆ MbeParamDir

Direction on the surface.

Direction on the surface which is used in the iterative method.

Enumerator
pd_DirU 

U-direction on the surface.

pd_DirV 

V-direction on the surface.

◆ MbeCurveBuildType

Types of surfaces intersection curve by construction.

Types of surfaces intersection curve as a result of the iterative method.

Enumerator
cbt_Boundary 

Curve which the boundary of the shell goes through.

cbt_Ordinary 

Analytical curve.

cbt_Specific 

Curve is constructed from single points.

cbt_Tolerant 

The analytical curve of intersection which is calculated imprecisely.

◆ MbeSurfaceType

Types of blend surface.

The type of blend surface (fillet or chamfer) by a construction.

Enumerator
sst_OrdinarySurface 

Analytic surface.

sst_SpecificSurface 

Special blend surface (fillet or chamfer) is constructed by separate points.

◆ MbeCurveGlueType

Curve types of surfaces intersection by topology.

Curve types of surfaces intersection by topology.

Enumerator
cgt_Unknown 

Undefined type of curve.

cgt_Pole 

Pole curve.

cgt_Edge 

Intersection curve of different surfaces.

cgt_Stitch 

Seam edge or parting line from converters (rule for choice of the first parametric curve).

cgt_Split 

Intersection curve is a parting line.

◆ MbeStepType

Methods of calculation of parameter increment by the object.

Methods of calculation of parameter increment by the object.
There are three types of steps: by sag, by deviation angle, by length. Step by sag is used for visualizations. Step by deviation angle is used for calculation. Step by length is used for 3D printer (plus by sag and by deviation angle).
There are three special types of steps also. Special step is used for linking with surface parameters. Special step is used for collision detection of model elements. Special step is used for calculation of inertial characteristics.

Enumerator
ist_SpaceStep 

Step by sag.

ist_DeviationStep 

Step by the deflection angle.

ist_MetricStep 

Step by length.

ist_ParamStep 

Step with binding of objects to the parameters of surface.

ist_CollisionStep 

Step for collision detection of model elements.

ist_MipStep 

Step for mass-inertial characteristics.

◆ MbeLabelState

Working label.

Working label for operations are used in MbTopologyItem::GetLabel and MbTopologyItem::SetOwnLabel.

Enumerator
ls_None 

The object is not to be used.

ls_Null 

Object was not considered.

ls_Used 

Object is used.

ls_Delete 

The object is to be deleted.

ls_Rebuild 

The object needs to be rebuilt.

ls_FirstPass 

The object is affected by the first pass of the algorithm.

ls_SecondPass 

The object is affected by the second pass of the algorithm.

ls_Error 

The object must be removed, and the error must be returned.

ls_Doubtful 

The object is doubtful.

ls_TempMark 

Temporary mark (for collection of objects).

◆ MbeSmoothForm

Methods of construction of a blend surface (fillet or chamfer).

Methods of construction of a blend surface (fillet or chamfer).

Enumerator
st_Unknown 

Undefined blend item.

st_Span 

Fillet with a given chord.

st_Fillet 

Fillet with given radii.

st_Chamfer 

Chamfer with given cathetuses.

st_Slant1 

Chamfer by cathetus and angle (distance2 cathetus is calculated for right angle between faces and defines angle adjacent to the distance1 cathetus).

st_Slant2 

Chamfer by angle and cathetus (distance1 cathetus is calculated for right angle between faces and defines angle adjacent to the distance2 cathetus).

◆ OperationType

Types of boolean operations on solids.

Types of boolean operations on solids.

Enumerator
bo_Internal 

Shells intersection.

bo_External 

Shells subtraction.

bo_Intersect 

Solids intersection.

bo_Difference 

Solids subtraction.

bo_Unknown 

Undefined operation.

bo_Union 

Solids union.

bo_Base 

Initial state.

bo_Variety 

Shells union.

◆ RegionOperationType

Types of boolean operations on two-dimensional regions.

Types of boolean operations on two-dimensional regions.

Enumerator
rbo_Intersect 

Intersection operation.

rbo_Difference 

Subtraction operation.

rbo_Unknown 

Undefined operation.

rbo_Union 

Union operation.

◆ MbeConnectingType

Methods of curves conjugation.

Methods of two curves conjugation by the third curve.

Enumerator
ft_Fillet 

Circular fillet on the cylinder.

ft_OnSurface 

Fillet by intersection of the cylinder and common surface of the mating curves.

ft_Spline 

Conjugation by spline.

ft_Double 

Conjugation by two arcs.

ft_Bridge 

Conjugation by a cubic curve.

◆ MbeCopyMode

Methods of transferring data while copying shells.

Methods of transferring data while copying shells in operations on solids.
Any operation (successful or faulty) modifies vertices, edges and shell faces of operands irreversibly.
Used full or partial copying of data to save the initial operand shell.
Four methods of transferring data to operation are used.
If it is not required to save the data, then the shell isn't copied and the original shell is used.
If it is required that the operation should not spoil the original shell and save memory, then the base surfaces and vertices are saved in a copy of the shell. In addition after operation a copy and the initial shell have common faces unchanged by operation.
If it is required that the operation should not spoil the original shell and had a high speed, then the base surfaces and vertices are saved in a copy of the shell.
If it is required that the operation result should not relate to the original objects, then the vertices, edges, surfaces and faces of operands are copied. This approach is used in operations which transform solid, such as mirroring.

Enumerator
cm_Same 

Shell is not copied.

cm_KeepHistory 

Initial shell and its copy have common base surfaces, vertices and faces unchanged by operation.

cm_KeepSurface 

Initial shell and its copy have common base surfaces.

cm_Copy 

Initial shell and its copy don't have common data.

◆ MbeCurveDerivativeType

Supported types of derivatives on the curve.

Supported types of derivatives on the curve. They are the indices of derivatives in the general array.

Enumerator
cdt_CurPoint 

A point (zero order)

cdt_FirstDer 

First derivative.

cdt_SecondDer 

Second derivative.

cdt_ThirdDer 

Third derivative.

cdt_CountDer 

The number of memorized values (orders)

◆ MbeSurfaceDerivativeType

Supported types of derivatives on the surface.

Supported types of derivatives on the surface. They are the indices of derivatives in the general array.

Enumerator
sdt_SurPoint 

A point.

sdt_DeriveU 

Partial derivative by U.

sdt_DeriveV 

Partial derivative by V.

sdt_DeriveUU 

Partial derivative by UU.

sdt_DeriveUV 

Partial derivative by UV.

sdt_DeriveVV 

Partial derivative by VV.

sdt_DeriveUUU 

Partial derivative by UUU.

sdt_DeriveUUV 

Partial derivative by UUV.

sdt_DeriveUVV 

Partial derivative by UVV.

sdt_DeriveVVV 

Partial derivative by UVV.

sdt_Normal 

Normal.

sdt_NormalU 

Partial derivative of normal by U.

sdt_NormalV 

Partial derivative of normal by V.

sdt_NormalUU 

Partial derivative of normal by UU.

sdt_NormalUV 

Partial derivative of normal by UV.

sdt_NormalVV 

Partial derivative of normal by VV.

sdt_CountNor 

The number of memorized values.

sdt_CountDer 

The number of memorized values.

◆ MbePoleLocation

Location of the poles.

The location of surface poles in the parametric region.

Enumerator
pln_None 

No pole.

pln_MinU 

Pole at u = umin.

pln_MaxU 

Pole at u = umax.

pln_MinV 

Pole at v = vmin.

pln_MaxV 

Pole at v = vmax.

◆ MbeSurfacePoleType

Surface border type.

Surface border type.

Enumerator
spt_Undefined 

A type is undefined.

spt_Point 

A point.

spt_Curve 

A curve.

◆ MbeOffsetType

Types of points offset displacement for offset curves and offset surfaces from base objects.

The points displacement of offset curves and offset surfaces can be constant, or can be linear, or can be cubic. The offset is a function of the parameters of curves and surfaces. The cubic function has zero derivatives at the beginning and at the end.

Enumerator
off_Empty 

The offset is absent (null).

off_Const 

Constant value of offset.

off_Linea 

Linear function of offset.

off_Cubic 

Cubic function of offset.

◆ MbeProgBarId_Common

Identifiers of the execution progress indicator messages.

Enumerator
pbarId_Read_Data 

Data reading.

pbarId_Prepare_Data 

Data preparing.

pbarId_Process_Data 

Data processing.

pbarId_Finish_Data 

Completion of data processing.

pbarId_Draw_Data 

Data mapping.

pbarId_Write_Data 

Data writing.

◆ MbeProgBarId_PointsSurface

Identifiers of the execution progress indicator messages. Surface by points layer(grid).

Enumerator
pbarId_Solve_LinearEquationsSystem 

System of linear equations solving.

pbarId_Remove_RedundantPoints 

Removal of redundant points.

pbarId_Build_ShellByPointsMesh 

Construction of shell by points grid.

pbarId_Build_PointsCloudMesh 

Construction of points grid by points layer.

pbarId_Build_TriangleFaces 

Construction of triangular faces.

pbarId_Find_AdjacentEdges 

Search adjacent edges.

pbarId_Build_TrianglesShell 

Construction of surface from triangular faces.

pbarId_Prepare_SurfaceData 

Preparing data for surface construction.

pbarId_Check_Surface 

Check correctness of surface construction.

◆ MbeProgBarId_Mesh

Identifiers of the execution progress indicator messages different algorithms for meshes.

Enumerator
pBar_SimplifyMesh_byTrianglesCount 

Simplifying triangulation by number of triangles.

pBar_SimplifyMesh_byTolerance 

Simplifying triangulation by tolerance.

◆ MbeFairSubdivision

Construction of smooth curves based on a three-dimensional polyline. Curve subdivision coefficient.

Enumerator
fairSubdiv_No 

Without subdivision.

fairSubdiv_Single 

Single subdivision.

fairSubdiv_Double 

Double subdivision.

fairSubdiv_Thrice 

Double subdivision.

◆ MbeFairCurvature

Construction of smooth curves based on a three-dimensional polyline. Accounting for curvature at end points.

Enumerator
fairCur_No 

Do not take into accoun.

fairCur_Start 

At the starting point.

fairCur_End 

At the ending point.

fairCur_Both 

Take into account both ends.

◆ MbeFairApprox

Construction of smooth curves based on a three-dimensional polyline. Approx method.

Enumerator
fairApprox_KnotsSpline 

B-spline curve on nodes.

fairApprox_IsoSpline 

Isogeometric B-spline curve.

fairApprox_IsoNurbs 

Isogeometric NURBzS curve.

◆ MbeFairSplineFormat

Construction of smooth curves based on a three-dimensional polyline. Spline Format.

Enumerator
fairFormat_HalfOpened 

HalfOpened S-polygon.

fairFormat_Open 

Open S-polygon.

fairFormat_Close 

Close S-polygon.

fairFormat_GB 

GB-polygon.

◆ MbeFairSmoothing

Construction of smooth curves based on a three-dimensional polyline. Smoothing.

Enumerator
fairSmooth_No 

Disable smoothing.

fairSmooth_Yes 

Enable smoothing.

fairSmooth_FixAng 

Enable smoothing and correct acute angles.

fairSmooth_Noisy 

Enable smoothing of noisy points in a given deviation corridor.

fairSmooth_NoisyMidline 

Enable smoothing along the middle line of deviations of noisy points.

◆ MbeFairMethod

Creation method of fair curve.

Enumerator
fairMethod_Polyline 

On base polyline.

fairMethod_Tangent 

On tangents.

fairMethod_GDHermite 

On GD Hermite with curvatures.

◆ MbeFairWarning

Warnings of fair curve creation.

Enumerator
fwarn_Success 

Normal work.

fwarn_IncorrectFirstTang 

Incorrect direction of first tangent. Ignored.

fwarn_StraightFirstSite 

Straighten start site. First tangent ignored.

fwarn_IncorrectPolylines 

Incorrect polylines / tangent directions.

fwarn_IncorrectFixPntTng 

Incorrect direction / position of a fixed tangent / point. Ignored.

fwarn_BadAccuracyFixPntTng 

The error of the direction / position of the fixed tangent / point exceeds the specified accuracy.

fwarn_BadStructureFixPntTng 

The positions of the fixed tangents are not consistent with the structure of the curve / degree of B-сплайн. Are ignored.

fwarn_BadPositionFixPntTng 

The positions of fixed tangents are not matched by interval. Are ignored.

fwarn_CriticalConfig 

Critical configuration for B-Spline approximation.

fwarn_CantSetCurvature 

Configuration of polyline does not allow setting curvature value.

fwarn_AccuracyCritical 

Accuracy of approximation rectilinear / critical sites.

fwarn_AccuracyStraight 

Accuracy of approximation on straight sites.

fwarn_BadAccuracy 

The Critical site. The error is more than set accuracy.

fwarn_BadInflection 

Unexpected inflection.

fwarn_CurvatureOutOfRange 

Curvatute out of range.

fwarn_SawtoothPolyline 

Sawtooth polyline.

◆ MbeFairDataType

Type of input data for creating a fair curve.

Enumerator
fairData_None 

Not defined.

fairData_Polyline 

On base polyline.

fairData_Tangent 

On tangents.

fairData_GDHermite 

On GD Hermite with curvatures.

fairData_GDHPoly 

On base polyline of Hermite GD.

fairData_GDHTangent 

On tangent lines of Hermite GD.

◆ MbeFairChangeType

Method of modifying a fair curve.

Enumerator
fairChange_None 

Not defined.

fairChange_Elevate 

Elevate the degree of NURBS curve.

fairChange_Subdivide 

Subdivide NURBS curve.

fairChange_Change 

Extract part / change format of NURBS curve.

fairChange_AddKnot 

Insert a node into NURBS.

fairChange_AddExtr 

Insert a node into one-segmented NURBS.

fairChange_Conic 

Convert a conical NURBS.

fairChange_Reparam 

Reparametrize NURBS curve.

◆ MbeFairCurveType

Type of a fair curve to be created.

Enumerator
fairCrvType_None 

Not defined.

fairCrvType_Bezier 

A fair Bezier curve.

fairCrvType_BSpline 

A fair B-spline curve.

fairCrvType_HermiteGD 

Hermite GD.

fairCrvType_Clothoid 

A clothoid.

fairCrvType_Sectrix 

A sectrix of Maclourin.

fairCrvType_BezierFillet 

A fillet fair Bezier curve.

fairCrvType_Poly 

Polyline.

fairCrvType_PolyTangent 

Tangent polyline.

◆ MbePairObjectsSelection

Selection from a pair of objects.

Enumerator
pos_First 

First object.

pos_Second 

Second object.

pos_Both 

Both objects.

◆ MbeSplineCreateType

Flag defining creation of spline passing through points.

Flag defining creation of spline passing through points. Related to the version.

Enumerator
sct_Version0 

Used in versions < V13 (centripetal parameterization).

sct_Version1 

Used in version V13 (parameterization by chord length).

sct_Version2 

Used in version V13+.

◆ MbeStitchResType

The "stitching" operation result.

Enumerator
stch_Success 

No errors.

stch_PrepareError 

"Stitching" operation preparation error.

stch_CoorientFaceError 

Unable to set the matched orientation of faces.

stch_SomeEdgesUnstitched 

Some edges are still unstitched.

stch_OutwardOrientError 

Can't set the normals of faces oriented outside the solid.

stch_NoEdgeWasStitched 

No edge was stitched.

stch_SeparatePartsResult 

There are separate parts after stitching.

stch_EdgeStitchError 

Edge stitching error.

stch_InputTopologyError 

Critical topology errors in input shells.

◆ MbeSmoothingMethod

NURBS smoothing method.

NURBS smoothing method.

Enumerator
sm_Curvature 

Curvature minimization.

sm_CurvatureVariance 

Curvature variance minimization.

◆ MbeMultithreadedMode

Multithreading modes.

Multithreading modes. Multithreading mode of the kernel manages the mechanism of thread-safity of the kernel objects and defines which

Enumerator
mtm_Off 

Kernel multithreading is completely disabled. Using kernel interfaces in parallel computing is prohibited.

Allowed parallel processing of objects that do not have common data (independent objects). Enabled internal multi-threaded calculations only for independent objects.

mtm_Standard 

Ensured thread safety of kernel interfaces. Allowed using all kernel interfaces in parallel computing. Enabled internal multithreaded calculations only for independent objects.

mtm_SafeItems 

Ensured thread-safety of kernel interfaces. Allowed using all kernel interfaces in parallel computing. Enabled all internal parallel calculations in the kernel.

mtm_Items 

Maximal kernel multithreading is ON. Allowed using all kernel interfaces in parallel computing. Enabled all internal parallel calculations in the kernel.

Function Documentation

◆ ParameterizeByLength()

template<class Point >
double ParameterizeByLength ( const std::vector< Point > &  aPt,
c3d::DoubleVector aPrm,
double  epsDegenerated = PARAM_EPSILON 
)

Parameterization by length.

Parameterization by length.