Classes | Typedefs | Enumerations | Variables
2D Constraint Modeling

Interface to 2D constraint system. More...

Classes

struct  CurveEntityIdentifier
 
struct  Constraint2dData
 
struct  Dimension2dData
 
struct  Drag2dInfo
 
struct  Constraint2dSolver
 
struct  Constraint2dSolverData
 
struct  Constraint2dManager
 
struct  ConstraintDisplayUtils
 
struct  ConstraintHandlerUtils
 
struct  IConstraintRootPepCollection
 
struct  ConstraintProxy
 
struct  DimensionProxy
 
struct  ConstraintSolverDataProxy
 
struct  ConstraintXAttributeHandlerBase
 
struct  ConstraintAgendaEventListener
 
struct  ConstraintECProvider
 

Typedefs

typedef bmap< ElementRefP,
EditElementHandleP
T_ModifiedElementMap
 
typedef bvector
< PersistentElementPath > 
T_PepVector
 
typedef RefCountedPtr
< IConstraintRootPepCollection
IConstraintRootPepCollectionPtr
 
typedef RefCountedPtr
< ConstraintProxy
ConstraintProxyPtr
 
typedef RefCountedPtr
< DimensionProxy
DimensionProxyPtr
 
typedef RefCountedPtr
< ConstraintSolverDataProxy
ConstraintSolverDataProxyPtr
 

Enumerations

enum  VertexType {
  Edge = 0, Start = 1, End = 2, Center = 3,
  Parameter = 4, PointIndex = 5, EllipseMajor1 = 6, EllipseMajor2 = 7,
  EllipseMinor1 = 8, EllipseMinor2 = 9, ArcPoint = 10, EllipseMajorEdge = 11,
  EllipseMinorEdge = 12, PlanarFace = 13
}
 Enumerates for curve (segment) identifier type. More...
 
enum  SectorAngleType { Parallel_AntiClockwise, Parallel_Clockwise, AntiParallel_AntiClockwise, AntiParallel_Clockwise }
 Enumerates for the ways an angle is calculated. More...
 
enum  Constraint2dType {
  Distance = 0, Angle = 1, Concentric = 2, Radius = 3,
  Parallel = 4, Perpendicular = 5, Coincident = 6, Tangent = 7,
  Symmetric = 9, Major_Radius = 10, Minor_Radius = 11, Equal_Radius = 12,
  Equal_Distance = 13, Offset = 23, Offset_Dimension = 32, Area = 100,
  Perimeter = 101, Fix = 102, Horizontal = 103, Vertical = 104,
  Equal = 105, Planar_Distance = 106
}
 Enumerates for constraint types. More...
 
enum  Constraint2dStatus {
  Unknown, Between_Fixed, Between_Set_Members, Over_Defined,
  Non_Algebraic, Not_Consistent, Not_Consistent_Dimensions, Not_Consistent_Other,
  Not_Consistent_Unknown, Not_Solved, Not_Changed, Solved
}
 Enumerates for constraint statuses. More...
 
enum  DragTransformType {
  General, Translation, Radius, Major_Radius,
  Minor_Radius, Offset_Distance
}
 The possible drag transform types. More...
 
enum  DimensionHalfSpace { Unspecified = 0, Left = 1, Right = 2 }
 
enum  DimensionAlignmentType {
  DimAlign_Unknown, DimAlign_Drawing_X, DimAlign_Drawing_X_Reversed, DimAlign_Drawing_Y,
  DimAlign_Drawing_Y_Reversed
}
 Enumerates for drawing dimension alignment. More...
 
enum  ConstraintOrientation { NotSpecified = 0, Aligned, AntiAligned, Unsupported = 0xff }
 

Variables

BEGIN_CONSTRAINT2D_NAMESPACE
typedef bmap< ElementRefP,
EditElementHandleP
T_ModifiedElementMap
 

Detailed Description

Interface to 2D constraint system.

+===============+===============+===============+===============+===============+======

Typedef Documentation

typedef bvector<PersistentElementPath> T_PepVector

Enumeration Type Documentation

enum Constraint2dStatus
strong

Enumerates for constraint statuses.

Enumerator
Unknown 

unknown status (newly added to system)

Between_Fixed 

dimension not solved as it is between fixed or frozen geometries

Between_Set_Members 

dimension not solved as it is between members of the same set

Over_Defined 

dimension specification is over-defined

Non_Algebraic 

dimension can only be solved non-algebraically

Not_Consistent 

given dimension value is inconsistent

Not_Consistent_Dimensions 

given dimension value is inconsistent due to a bad dimensioning scheme

Not_Consistent_Other 

given dimension value is inconsistent due to other causes

Not_Consistent_Unknown 

dimension value inconsistent and there is insufficient information available to determine the cause

Not_Solved 

dimension not solved as it is either not satisfied or connected to geometries with a NOT_CHANGED status or a NOT_CONSISTENT status

Not_Changed 

given dimension not changed

Solved 

dimension value is satisfied by solution

enum Constraint2dType
strong

Enumerates for constraint types.

Enumerator
Distance 

Distance dimensional constraint.

  • Line/line- A distance between two lines implies that they are parallel with the given separation. The D-Cubed will treat the two lines as if they had a parallel logical constraint between them.
  • Point/point & point/line - Gives the minimum distance between the point and the geometry.
Angle 

Angle dimensional constraint which allows it to have any value between 0 and 2pi radians.

Concentric 

Concentric logical constraint.

Radius 

Radius dimensional constraint.

Parallel 

Parallel logical constraint.

Perpendicular 

Perpendicular logical constraint.

Coincident 

Coincident logical constraint.

Tangent 

Tangent logical constraint.

Symmetric 

Symmetric constraint.

Major_Radius 

Major radius dimensional constraint which is effective on ellipse.

Minor_Radius 

Minor radius dimensional constraint which is effective on ellipse.

Equal_Radius 

Equal radius dimensional constraint.

Equal_Distance 

Equal distance dimensional constraint.

Offset 

Offset constraint.

Offset_Dimension 

Offset dimension.

Area 

Area dimensional constraint.

Perimeter 

Perimeter dimensional constraint.

Fix 

Fix constraint which has different meanings per entity type:

  • Point/vertex - The point or vertex is fixed without moving.
  • Line/edge- The direction of line or edge is fixed, but the entity itself is able to move.
  • Major/minor radius - The direction of major or minor axis is fixed but their radius value is changeable.
  • Curve - The whole curve is fixed and cannot move or rotate.
Horizontal 

Horizontal constraint which is always parallel to local X-axis.

Vertical 

Vertical constraint which is always parallel to local Y-axis.

Equal 

Equal constraint.

Planar_Distance 

Planar distance constraint which applys on distance between two parallel planes.

enum ConstraintOrientation
strong
Enumerator
NotSpecified 
Aligned 
AntiAligned 
Unsupported 

Enumerates for drawing dimension alignment.

Enumerator
DimAlign_Unknown 

not align dimension;

DimAlign_Drawing_X 

align constraint dimension value in X direction;

DimAlign_Drawing_X_Reversed 

align constraint dimension value in -X direction;

DimAlign_Drawing_Y 

align constraint dimension value in Y direction;

DimAlign_Drawing_Y_Reversed 

align constraint dimension value in -Y direction;

enum DimensionHalfSpace
strong
Enumerator
Unspecified 
Left 
Right 
enum DragTransformType
strong

The possible drag transform types.

Enumerator
General 

rotation+translation

Translation 

translation only

Radius 

circle radius only

Major_Radius 

ellipse major radius only

Minor_Radius 

ellipse minor radius only

Offset_Distance 

offset distance only

enum SectorAngleType
strong

Enumerates for the ways an angle is calculated.

Enumerator
Parallel_AntiClockwise 

the measured angle is rotating line1 to line2 by anticlockwise, and the two lines are parallel;

Parallel_Clockwise 

the measured angle is rotating line1 to line2 by clockwise, and the two lines are parallel;

AntiParallel_AntiClockwise 

the measured angle is rotating line1 to line2 by anticlockwise, and the two lines are antiparallel;

AntiParallel_Clockwise 

the measured angle is rotating line1 to line2 by clockwise, and the two lines are antiparallel;

enum VertexType
strong

Enumerates for curve (segment) identifier type.

Enumerator
Edge 

The whole curve (segment)

Start 

Curve's start point.

End 

Curve's end point.

Center 

Curve's middle point or arc's center.

Parameter 

Determined by the parameter value, typically within [0,1].

PointIndex 

A zero-based index of point array.

EllipseMajor1 

Start point of major axis of an ellipse.

EllipseMajor2 

End point of major axis of an ellipse.

EllipseMinor1 

Start point of minor axis of an ellipse.

EllipseMinor2 

End point of minor axis of an ellipse.

ArcPoint 

Indicates it is a point in an arc.

EllipseMajorEdge 

Major axis of an ellipse.

EllipseMinorEdge 

minor axis of an ellipse

PlanarFace 

planar face (planar distance constraints only).

Variable Documentation

BEGIN_CONSTRAINT2D_NAMESPACE typedef bmap<ElementRefP, EditElementHandleP> T_ModifiedElementMap

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.