C3D Kernel  104598
Classes | Enumerations
Data Structures
Algorithm Objects
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...
class  MbNURBSVector2D
 Nurbs-vecor. More...
class  MbNURBSVector
 Nurbs-vecor. 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-dimentional object control. 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...
struct  MbNurbsPointInfo
 Parameters of knot point of the object spline copy. 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...
struct  MbPositionData
 Data for operation dimensions. More...
struct  MbEdgeSequence
 Sequence of edges. More...
class  MbShellHistory
 Faces history. More...
class  MbWeightMatrix
struct  MbCheckTopologyParams
 Parameters of validation of the shell. More...
struct  MbEdgeFunction
 A structure for edge and function transferring. More...
class  MbPntLoc
 An object with information about the point location relative to the shell. More...

Enumerations

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
}
 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  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_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  MbeProgBarId_Common {
  pbarId_Common_Beg = 0, pbarId_Read_Data, pbarId_Prepare_Data, pbarId_Process_Data,
  pbarId_Finish_Data, pbarId_Draw_Data, pbarId_Write_Data, pbarId_Common_End
}
 Identifiers of the execution progress indicator messages. More...
enum  MbeProgBarId_PointsSurface {
  pbarId_PointsSurface_Beg = pbarId_Common_End + 1, pbarId_Solve_LinearEquationsSystem, pbarId_Remove_RedundantPoints, pbarId_Build_ShellByPointsMesh,
  pbarId_Build_PointsCloudMesh, pbarId_Build_TriangleFaces, pbarId_Find_AdjacentEdges, pbarId_Build_TrianglesShell,
  pbarId_Prepare_SurfaceData, pbarId_Check_Surface, pbarId_PointsSurface_End
}
 Identifiers of the execution progress indicator messages. Surface by points layer(grid). 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
}
 The "stitching" operation result. More...
enum  MbeMultithreadedMode {
  mtm_Off = 0, mtm_Standard = 1, mtm_SafeItems = 2, mtm_Items = 3,
  mtm_Max = 31
}
 Multithreading modes. More...

Enumeration Type Documentation

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.

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).

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.

enum MbeState

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.

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.

The direction of a movement relative to the base object.

Enumerator:
orient_BOTH 

Both directions (nonoriented).

orient_FORWARD 

Forward direction.

orient_BACK 

Backward direction.

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).

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.

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.

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.

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.

Types of two-dimensional mesh.

Enumerator:
igt_Rectangular 

Rectangular mesh.

igt_Concentric 

Concentric mesh.

igt_Hexagonal 

Hexagonal mesh.

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.

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.

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.

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.

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 for linking with surface parameters.

ist_CollisionStep 

Step for collision detection of model elements.

ist_MipStep 

Step for mass-inertial characteristics.

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).

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

Enumerator:
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).

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.

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.

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.

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.

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)

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.

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.

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.

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.

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+.

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.

Multithreading modes.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines