11 #if !defined (mdl_type_resource_generator) && !defined (mdl_resource_compiler)
22 #ifdef __CONSTRAINT3DCORE_BUILD__
24 #define CONSTRAINT3DCORE_EXPORT __declspec(dllexport)
26 #define CONSTRAINT3DCORE_EXPORT __declspec(dllimport)
29 #define BEGIN_CONSTRAINT3D_NAMESPACE BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE namespace Constraint3d {
30 #define END_CONSTRAINT3D_NAMESPACE }}}
31 #define USING_NAMESPACE_CONSTRAINT3D using namespace Bentley::DgnPlatform::Constraint3d;
33 #define CONSTRAINT3D_CORE_TYPEDEFS(t) \
34 BEGIN_CONSTRAINT3D_NAMESPACE struct t; END_CONSTRAINT3D_NAMESPACE \
35 ADD_BENTLEY_TYPEDEFS (DgnPlatform::Constraint3d,t);
51 BEGIN_CONSTRAINT3D_NAMESPACE
123 #if !defined (mdl_type_resource_generator) && !defined (mdl_resource_compiler)
151 virtual void _AddToSolver (
class DCM3_dimension_system* dimensionSystem);
235 CONSTRAINT3DCORE_EXPORT
static GeometryIdPtr
Create (
Type type,
Status status, DataInternalizer& source,
DgnModelRefR modelRef, Constraint3dBodyCacheP bodyCache =
NULL);
252 CONSTRAINT3DCORE_EXPORT
virtual bool _LessThan (GeometryIdCR id0, GeometryIdCR id1)
const;
277 CONSTRAINT3DCORE_EXPORT
bool operator < (GeometryIdCR otherId)
const {
return _LessThan (*
this, otherId); }
288 bool operator () (GeometryIdCP
const& id0, GeometryIdCP
const& id1)
const {
return *id0 < *id1; }
317 CONSTRAINT3DCORE_EXPORT
virtual bool _LessThan (GeometryIdCR id0, GeometryIdCR id1)
const override;
367 CONSTRAINT3DCORE_EXPORT
virtual bool _LessThan (GeometryIdCR id0, GeometryIdCR id1)
const override;
423 CONSTRAINT3DCORE_EXPORT
virtual bool _LessThan (GeometryIdCR id0, GeometryIdCR id1)
const override;
442 CurveGeometryId (
ElementHandleCR eh,
PersistentElementPathCR pep,
Status status,
CurvePrimitiveIdPtr& curveId,
UInt32 segmentIndex,
double fraction) :
GeometryId (eh, pep,
Type::Curve, status), m_curveId (curveId), m_segmentIndex (segmentIndex) {
SetParameter (fraction); }
454 CONSTRAINT3DCORE_EXPORT
virtual bool _LessThan (GeometryIdCR id0, GeometryIdCR id1)
const override;
494 CurvePointGeometryId (
ElementHandleCR eh,
PersistentElementPathCR pep,
Status status,
CurvePrimitiveIdPtr& curveId,
UInt32 segmentIndex,
double fraction) :
CurveGeometryId (eh, pep, status, curveId, segmentIndex, fraction) {
m_type =
Type::CurvePoint; }
625 CONSTRAINT3DCORE_EXPORT
void SetGroupLock (
bool groupLock);
627 CONSTRAINT3DCORE_EXPORT
bool IsRedundant (Constraint3dBaseCR other)
const;
830 typedef bmap<UInt32, ISolidKernelEntityPtr> Constraint3dBodyCacheValueMap;
831 bmap <ElementRefP, Constraint3dBodyCacheValueMap> m_bodyMap;
837 CONSTRAINT3DCORE_EXPORT
static Constraint3dBodyCacheP
Get (
ElementRefP host);
853 struct SolverImplementation* m_solverImpl;
889 END_CONSTRAINT3D_NAMESPACE
virtual bool _OmitSolverGeometry()
Definition: Constraint3dCoreApi.h:340
Constraint3dHalfSpace GetHalfSpace1() const
Definition: Constraint3dCoreApi.h:619
BRepVertexGeometryId(ElementHandleCR eh, PersistentElementPathCR pep, Status status, VertexId const &vertexId)
Definition: Constraint3dCoreApi.h:409
bvector< Constraint3dPtr > T_Constraints
Definition: Constraint3dCoreApi.h:131
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
virtual DimensionToComponent _DimensionToComponent() const override
struct DgnPlatform::PersistentElementPath const & PersistentElementPathCR
Definition: DgnPlatform.h:419
static CONSTRAINT3DCORE_EXPORT BentleyStatus GetEdgeArcAxis(DRay3dR axis, ISubEntityCR edge)
virtual void _Transform(TransformCR transform)
Definition: Constraint3dCoreApi.h:150
CONSTRAINT3DCORE_EXPORT void RemoveBodies(T_StdElementRefSet elementRefs)
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
Definition: Constraint3dCoreApi.h:825
BentleyStatus GetAxis(ICurvePrimitivePtr &axis) const
CONSTRAINT3DCORE_EXPORT ~Constraint3dSolver()
CONSTRAINT3DCORE_EXPORT bool HasElementRef(ElementRefP elementRef) const
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
Definition: Constraint3dCoreApi.h:768
EdgeId m_edgeId
Definition: Constraint3dCoreApi.h:353
virtual BentleyStatus _Save(DataExternalizer &sink) override
static GeometryIdPtr Create(ElementHandleCR eh, PersistentElementPathCR pep, Status status)
Definition: Constraint3dCoreApi.h:334
static CONSTRAINT3DCORE_EXPORT void GetConstrainedElements(T_StdElementRefSet &elements, T_Constraints const &constraints, DgnModelRefP modelRef)
Definition: Constraint3dCoreApi.h:297
PersistentElementPath m_pep
Definition: Constraint3dCoreApi.h:224
BentleyStatus GetCurve(ICurvePrimitivePtr &curve) const
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Save(DataExternalizer &sink)
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
Definition: Bentley.h:212
Definition: Constraint3dCoreApi.h:669
Definition: ViewContext.h:358
static CONSTRAINT3DCORE_EXPORT BentleyStatus GetNamedGroupMembers(T_StdElementRefSet &members, NamedGroupPtr &namedGroup)
Definition: Constraint3dCoreApi.h:214
EdgeGeometryId(ElementHandleCR eh, PersistentElementPathCR pep, Status status, EdgeId const &edgeId)
Definition: Constraint3dCoreApi.h:355
CONSTRAINT3DCORE_EXPORT BentleyStatus Initialize(T_Constraints const &constraints, DgnModelRefR modelRef, bmap< ElementRefP, EditElementHandleP > *modifiedElements=NULL, char const *debugJournal=NULL)
DVec3d GetAxis()
Definition: Constraint3dCoreApi.h:789
CONSTRAINT3DCORE_EXPORT bool operator<(GeometryIdCR otherId) const
Definition: Constraint3dCoreApi.h:277
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
AngleSettings
Definition: Constraint3dCoreApi.h:765
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
static GeometryIdPtr Create(ElementHandleCR eh, PersistentElementPathCR pep, Status status)
Definition: Constraint3dCoreApi.h:519
Definition: Constraint3dCoreApi.h:590
virtual SolverGeometryPtr _CreateSolverGeometry(CurveVectorCR curveVector, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform)
Definition: Constraint3dCoreApi.h:257
UInt32 m_entityIndex
Definition: Constraint3dCoreApi.h:226
ELEMENTHANDLER_EXTENSION_DECLARE_MEMBERS(Constraint3dTargetHostExtension, CONSTRAINT3DCORE_EXPORT)
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, CurveLocationDetailCR curveLocationDetail)
void SetGeometryIds(T_GeometryIds const &geometryIds)
Definition: Constraint3dCoreApi.h:616
defined (DGN_PLATFORM_MT)
Definition: HeapZone.h:22
g_node * m_dcmNode
Definition: Constraint3dCoreApi.h:140
virtual BentleyStatus _Flash(ViewContextR viewContext) const
Definition: Constraint3dCoreApi.h:254
Definition: Constraint3dCoreApi.h:873
virtual void _Draw(ViewContextR viewContext, DgnModelRefR modelRef) const override
virtual DimensionToComponent _DimensionToComponent() const
Definition: Constraint3dCoreApi.h:263
CONSTRAINT3DCORE_EXPORT void ComputeArcPosition(DPoint3dCR point)
virtual void _SetValue(double value) override
Definition: Constraint3dCoreApi.h:732
virtual BentleyStatus _Save(DataExternalizer &sink)
virtual bool _IsDirected() const override
Definition: Constraint3dCoreApi.h:785
virtual BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const
Definition: Constraint3dCoreApi.h:258
CONSTRAINT3DCORE_EXPORT void GetElementRefs(T_StdElementRefSet &elementRefs) const
virtual bool _IsDirected() const override
Definition: Constraint3dCoreApi.h:684
Definition: Constraint3dCoreApi.h:589
WString m_variableAccess
Definition: Constraint3dCoreApi.h:720
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
BentleyStatus GetEdgePoint(DPoint3dR point, double fraction) const
virtual CONSTRAINT3DCORE_EXPORT SolverGeometryPtr _CreateSolverGeometry(CurveVectorCR curveVector, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform) override
virtual EdgeId const * _GetEdgeId() const
Definition: Constraint3dCoreApi.h:261
struct DgnPlatform::ISubEntity const & ISubEntityCR
Definition: DgnPlatform.h:332
GeometryId()
Definition: Constraint3dCoreApi.h:233
virtual void _SetVariableAccess(WStringCR variableAccess) override
Definition: Constraint3dCoreApi.h:734
struct Bentley::WString const & WStringCR
Definition: Bentley.h:239
Definition: Constraint3dCoreApi.h:591
static CONSTRAINT3DCORE_EXPORT BentleyStatus CalculateDimensionDistance(double &value, Constraint3dHalfSpace halfSpaces[2], T_GeometryIds const &geometryIds, DgnModelRefR modelRef)
Status
Definition: Constraint3dCoreApi.h:184
virtual bool _DisplayMarkers(ViewContextR viewContext) const override
Definition: Constraint3dCoreApi.h:729
ElementHandleCR GetElement() const
Definition: Constraint3dCoreApi.h:241
SolverGeometry(GeometryIdP geometryId)
Definition: Constraint3dCoreApi.h:149
void SetStatus(Status status)
Definition: Constraint3dCoreApi.h:612
void SetElementRef(ElementRefP elementRef)
Definition: Constraint3dCoreApi.h:244
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR pointh) const override
CoincidentConstraint3d()
Definition: Constraint3dCoreApi.h:685
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
vertex triple for solid topology references.
Definition: GeomApi.r.h:75
CONSTRAINT3DCORE_EXPORT BentleyStatus GetNormalPlane(DPlane3dR normalPlane)
Definition: Constraint3dCoreApi.h:647
bvector< GeometryIdPtr > T_GeometryIds
Definition: Constraint3dCoreApi.h:130
face pair for solid topology references.
Definition: GeomApi.r.h:69
Definition: Constraint3dCoreApi.h:659
double m_unused0
Definition: Constraint3dCoreApi.h:779
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
static GeometryIdPtr Create(ElementHandleCR eh)
Definition: Constraint3dCoreApi.h:335
{nodeId, entityId} pair for solid topology references.
Definition: GeomApi.r.h:58
BentleyStatus GetBody(ISolidKernelEntityPtr &body) const
CONSTRAINT3DCORE_EXPORT void SetGroupLock(bool groupLock)
virtual DCM3_g_type _Identify()=0
virtual void SetParameter(double parameter)
void SetParameter(double parameter)
Definition: Constraint3dCoreApi.h:268
virtual CONSTRAINT3DCORE_EXPORT SolverGeometryPtr _CreateSolverGeometry(ISolidKernelEntityCR body, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform) override
bool HasBoundVariable() const
Definition: Constraint3dCoreApi.h:626
virtual bool _IsDirected() const
Definition: Constraint3dCoreApi.h:601
Type m_type
Definition: Constraint3dCoreApi.h:221
void SetBodyCache(Constraint3dBodyCacheP cache)
Definition: Constraint3dCoreApi.h:245
SurfaceOrientation GetSurfaceOrientation() const
Definition: Constraint3dCoreApi.h:617
virtual bool _IsDirected() const override
Definition: Constraint3dCoreApi.h:651
void SetStatus(Status status)
Definition: Constraint3dCoreApi.h:239
Constraint3dType GetType() const
Definition: Constraint3dCoreApi.h:610
virtual double _GetValue() const override
Definition: Constraint3dCoreApi.h:731
Definition: Constraint3dCoreApi.h:489
UInt32 GetFlags() const
Definition: Constraint3dCoreApi.h:613
void SetHalfSpace2(Constraint3dHalfSpace halfSpace)
Definition: Constraint3dCoreApi.h:622
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, ISubEntityCR subEntity)
Status m_status
Definition: Constraint3dCoreApi.h:637
DRay3d ComputeAxis(T_GeometryIds const &geometryIds, bool invert)
Definition: Constraint3dCoreApi.h:213
static CONSTRAINT3DCORE_EXPORT void KernelRestarted()
CONSTRAINT3DCORE_EXPORT BentleyStatus DynamicEvaluate(T_ElementTransformMap &transformMap, T_StdElementRefSet const &elementRefs, TransformCR tranform)
virtual BentleyStatus _Extract(DataInternalizer &source, DgnModelRefR modelRef, Constraint3dBodyCacheP bodyCache)
virtual CONSTRAINT3DCORE_EXPORT bool _LessThan(GeometryIdCR id0, GeometryIdCR id1) const override
FlagMasks
Definition: Constraint3dCoreApi.h:586
ElementRefP GetElementRef() const
Definition: Constraint3dCoreApi.h:240
static CONSTRAINT3DCORE_EXPORT Constraint3dPtr Create(Constraint3dType type)
Dimension3dBase(Constraint3dType type)
Definition: Constraint3dCoreApi.h:724
struct CurveVector const & CurveVectorCR
Definition: msgeomstructs_typedefs.h:172
virtual CONSTRAINT3DCORE_EXPORT SolverGeometryPtr _CreateSolverGeometry(ISolidKernelEntityCR body, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform) override
Definition: Constraint3dCoreApi.h:138
GeometryId(ElementHandle eh, PersistentElementPathCR pep, Type type, Status status)
Definition: Constraint3dCoreApi.h:230
Definition: Constraint3dCoreApi.h:743
FaceId const * _GetFaceId() const
Definition: Constraint3dCoreApi.h:318
CONSTRAINT3DCORE_EXPORT BentleyStatus ValidateConstraint3dTargets(WStringR cantAcceptReason, T_GeometryIds &geometryIds, ElementHandleCR eh, bool saveChanges) const
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, CurvePrimitiveIdCR curvePrimitiveId)
T_GeometryIds const & GetGeometryIds() const
Definition: Constraint3dCoreApi.h:615
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
bool m_reversed
Definition: Constraint3dCoreApi.h:143
Status m_status
Definition: Constraint3dCoreApi.h:222
Definition: Constraint3dCoreApi.h:381
UInt32 m_settings
Definition: Constraint3dCoreApi.h:777
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
uint32_t UInt32
Definition: Bentley.r.h:128
#define NULL
Definition: Bentley.h:157
virtual CONSTRAINT3DCORE_EXPORT SolverGeometryPtr _CreateSolverGeometry(CurveVectorCR curveVector, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform) override
Origin and normal vector for a plane.
Definition: dplane3d.h:18
virtual CONSTRAINT3DCORE_EXPORT bool _LessThan(GeometryIdCR id0, GeometryIdCR id1) const
CONSTRAINT3DCORE_EXPORT void Draw(ViewContextR viewContext, DgnModelRefR modelRef, T_ElementTransformMap const *transformMap) const
FaceGeometryId(ElementHandleCR eh, PersistentElementPathCR pep, Status status, FaceId const &faceId)
Definition: Constraint3dCoreApi.h:304
Definition: Constraint3dCoreApi.h:566
Constraint3dBodyCacheP m_bodyCache
Definition: Constraint3dCoreApi.h:227
virtual bool _IsDimension() const override
Definition: Constraint3dCoreApi.h:730
void SetFlags(UInt32 flags)
Definition: Constraint3dCoreApi.h:614
Definition: Constraint3dCoreApi.h:588
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
FaceAxisGeometryId(ElementHandleCR eh, PersistentElementPathCR pep, Status status, FaceId const &faceId)
Definition: Constraint3dCoreApi.h:545
CONSTRAINT3DCORE_EXPORT BentleyStatus GetRootRange(DRange3dR range) const
virtual void _PreprocessTransforms(ElementHandleCR eh, T_ElementTransformMap &transformMap) const =0
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, ISubEntityCR subEntity)
DimensionToComponent
Definition: Constraint3dCoreApi.h:200
virtual BentleyStatus _ValidateConstraint3dTargets(WStringR cantAcceptReason, T_GeometryIds &geometryIds, ElementHandleCR eh, bool saveChanges) const =0
static CONSTRAINT3DCORE_EXPORT BentleyStatus CalculateAngle(double &value, T_GeometryIds const &geometryIds)
BentleyStatus GetEdge(ISubEntityPtr &edge, ISolidKernelEntityPtr &body) const
UInt32 GetEntityIndex() const
Definition: Constraint3dCoreApi.h:271
struct DgnPlatform::ISolidKernelEntity const & ISolidKernelEntityCR
Definition: DgnPlatform.h:331
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
Type GetType() const
Definition: Constraint3dCoreApi.h:237
virtual bool _ValidateRootChange() const
Definition: Constraint3dCoreApi.h:255
CONSTRAINT3DCORE_EXPORT bool IsRedundant(Constraint3dBaseCR other) const
virtual CONSTRAINT3DCORE_EXPORT bool _ValidateRootChange() const override
GeometryIdP m_geometryId
Definition: Constraint3dCoreApi.h:142
virtual CONSTRAINT3DCORE_EXPORT bool _ValidateRootChange() const override
virtual BentleyStatus _Extract(DataInternalizer &source, DgnModelRefR modelRef, Constraint3dBodyCacheP bodyCache) override
Definition: Constraint3dCoreApi.h:767
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
3d point coordinates.
Definition: dpoint3d.h:19
virtual double _GetValue() const
Definition: Constraint3dCoreApi.h:604
DistanceDimension3d()
Definition: Constraint3dCoreApi.h:748
virtual void _OnCleanup(ElementRefP host, bool unloadingModel, HeapZoneR zone) override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Save(DataExternalizer &sink)
BentleyStatus
Definition: Bentley.h:208
Definition: Constraint3dCoreApi.h:714
double x
x coordinate
Definition: dpoint2d.h:26
virtual void _Draw(ViewContextR viewContext, DgnModelRefR modelRef) const override
virtual BentleyStatus _Save(DataExternalizer &sink) override
virtual void _AddToSolver(class DCM3_dimension_system *dimensionSystem)
void SetSurfaceOrientation(SurfaceOrientation orientation)
Definition: Constraint3dCoreApi.h:618
virtual void _SetVariableAccess(WStringCR variableAccess)
Definition: Constraint3dCoreApi.h:607
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, CurveLocationDetailCR curveLocationDetail)
void SetParameter(DPoint2dCR parameter)
Definition: Constraint3dCoreApi.h:270
Constraint3dHalfSpace GetHalfSpace2() const
Definition: Constraint3dCoreApi.h:620
virtual CONSTRAINT3DCORE_EXPORT bool _LessThan(GeometryIdCR id0, GeometryIdCR id1) const override
A shared pointer template for reference-counted objects.
Definition: RefCounted.h:119
void GetParameter(DPoint2dR parameter) const
Definition: Constraint3dCoreApi.h:269
FixedElementId(ElementHandleCR eh, PersistentElementPathCR pep, Status status)
Definition: Constraint3dCoreApi.h:331
virtual CONSTRAINT3DCORE_EXPORT bool _ValidateRootChange() const override
double GetParameter() const
Definition: Constraint3dCoreApi.h:267
Definition: Constraint3dCoreApi.h:761
struct DPoint2d const & DPoint2dCR
Definition: msgeomstructs_typedefs.h:78
CONSTRAINT3DCORE_EXPORT BentleyStatus Evaluate(T_ElementTransformMap &transformMap)
Definition: Constraint3dCoreApi.h:680
CurvePrimitiveIdPtr m_curveId
Definition: Constraint3dCoreApi.h:438
virtual void _SetValue(double value)
Definition: Constraint3dCoreApi.h:605
Constraint3dXAttributeIndex
Definition: Constraint3dCoreApi.h:61
static BentleyStatus Extract(CurvePrimitiveIdPtr &curveId, UInt32 &subindex, DataInternalizer &source)
virtual void _Draw(ViewContextR viewContext, DgnModelRefR) const
Definition: Constraint3dCoreApi.h:603
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, FaceId const &faceId)
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
BentleyStatus GetCurveVector(CurveVectorPtr &curveVector) const
Definition: Constraint3dCoreApi.h:348
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Save(DataExternalizer &sink)
RegionPlaneId(ElementHandleCR eh, PersistentElementPathCR pep, Status status)
Definition: Constraint3dCoreApi.h:516
Constraint3dHalfSpace
Definition: Constraint3dCoreApi.h:115
Definition: Constraint3dCoreApi.h:467
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Flash(ViewContextR viewContext) const override
virtual CONSTRAINT3DCORE_EXPORT bool _LessThan(GeometryIdCR id0, GeometryIdCR id1) const override
virtual bool _DoEditValue() const
Definition: Constraint3dCoreApi.h:600
Start point and direction (NOT necessarily unit) for a 3D ray.
Definition: dray3d.h:21
The whole curve (segment)
virtual WString _GetVariableAccess() const override
Definition: Constraint3dCoreApi.h:733
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
Definition: Constraint3dCoreApi.h:538
Constraint3dStorageVersion
Definition: Constraint3dCoreApi.h:55
bool GetGroupLock() const
Definition: Constraint3dCoreApi.h:624
static GeometryIdPtr Create(ElementHandleCR eh)
Definition: Constraint3dCoreApi.h:520
virtual WString _GetVariableAccess() const
Definition: Constraint3dCoreApi.h:606
Status GetStatus() const
Definition: Constraint3dCoreApi.h:611
virtual CONSTRAINT3DCORE_EXPORT bool _ValidateRootChange() const override
#define DEFINE_T_SUPER(B)
Definition: Bentley.h:167
CONSTRAINT3DCORE_EXPORT BentleyStatus GetRootRange(DRange3dR range) const
FaceId m_faceId
Definition: Constraint3dCoreApi.h:302
struct CurvePrimitiveId const & CurvePrimitiveIdCR
Definition: CurvePrimitiveId.h:15
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, EdgeId const &edgeId)
Definition: Constraint3dCoreApi.h:326
SurfaceOrientation
Definition: Constraint3dCoreApi.h:105
VertexId const * _GetVertexId() const
Definition: Constraint3dCoreApi.h:424
struct Transform const & TransformCR
Definition: msgeomstructs_typedefs.h:134
Status
Definition: Constraint3dCoreApi.h:570
Constraint3dType
Definition: Constraint3dCoreApi.h:70
Concrete class that can be used to implement the reference-counting pattern.
Definition: RefCounted.h:109
Definition: Constraint3dCoreApi.h:215
virtual double GetParameter() const
void SetEntityIndex(UInt32 entityIndex)
Definition: Constraint3dCoreApi.h:272
RefCountedPtr< struct GeometryId > GeometryIdPtr
Definition: Constraint3dCoreApi.h:127
static CONSTRAINT3DCORE_EXPORT void RemoveInvalidConstraints(size_t &nInvalid, T_Constraints &constraints, ElementRefP changed, ElementHandleCR hostEh)
virtual BentleyStatus _GetMarkerLocation(DPoint3dR point) const
Definition: Constraint3dCoreApi.h:253
double m_value
Definition: Constraint3dCoreApi.h:719
static CONSTRAINT3DCORE_EXPORT Constraint3dBodyCacheP Get(ElementRefP host)
struct CurveLocationDetail const & CurveLocationDetailCR
Definition: msgeomstructs_typedefs.h:167
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(Type type, Status status, DataInternalizer &source, DgnModelRefR modelRef, Constraint3dBodyCacheP bodyCache=NULL)
FaceId m_faceId
Definition: Constraint3dCoreApi.h:543
virtual CONSTRAINT3DCORE_EXPORT bool _ValidateRootChange() const override
CONSTRAINT3DCORE_EXPORT void ComputeDefaultArcPosition()
CONSTRAINT3DCORE_EXPORT BentleyStatus GetDegreesOfFreedom(int &dof, int &removedDof, int &rigidDof)
bmap< ElementRefP, Transform > T_ElementTransformMap
Definition: Constraint3dCoreApi.h:132
UInt32 m_flags
Definition: Constraint3dCoreApi.h:639
virtual ~SolverGeometry()
Definition: Constraint3dCoreApi.h:147
VertexId m_vertexId
Definition: Constraint3dCoreApi.h:407
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR pointh) const override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetSolidSubEntity(ISubEntityPtr &subEntity, ISolidKernelEntityPtr &body) const override
UInt32 m_segmentIndex
Definition: Constraint3dCoreApi.h:439
DPoint2d m_parameter
Definition: Constraint3dCoreApi.h:225
RefCountedPtr< struct SolverGeometry > SolverGeometryPtr
Definition: Constraint3dCoreApi.h:128
virtual VertexId const * _GetVertexId() const
Definition: Constraint3dCoreApi.h:262
EdgeId const * _GetEdgeId() const
Definition: Constraint3dCoreApi.h:368
virtual bool _DoEditValue() const override
Definition: Constraint3dCoreApi.h:728
Definition: Constraint3dCoreApi.h:434
Status GetStatus() const
Definition: Constraint3dCoreApi.h:238
CONSTRAINT3DCORE_EXPORT void AddBody(ElementRefP elementRef, UInt32 entityIndex, ISolidKernelEntityPtr)
PersistentElementPathCR GetRootPep() const
Definition: Constraint3dCoreApi.h:242
virtual CONSTRAINT3DCORE_EXPORT SolverGeometryPtr _CreateSolverGeometry(CurveVectorCR curveVector, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform) override
struct DPoint3d const & DPoint3dCR
Definition: msgeomstructs_typedefs.h:79
static CONSTRAINT3DCORE_EXPORT BentleyStatus GetFaceAxis(ICurvePrimitivePtr &axis, ISubEntityCR face)
ElementHandle m_eh
Definition: Constraint3dCoreApi.h:223
#define BeAssert(_Expression)
BeAssert performs the same function as the standard assert, plus it prevents the most common cases of...
Definition: BeAssert.h:56
RefCountedPtr< NamedGroup > NamedGroupPtr
A Reference Counted pointer to a NamedGroup.
Definition: NamedGroup.h:179
Definition: Constraint3dCoreApi.h:809
bool operator()(GeometryIdCP const &id0, GeometryIdCP const &id1) const
Definition: Constraint3dCoreApi.h:288
BentleyStatus GetCurvePoint(DPoint3dR point, double fraction) const
virtual bool _DisplayMarkers(ViewContextR viewContext) const
Definition: Constraint3dCoreApi.h:608
virtual SolverGeometryPtr _CreateSolverGeometry(ISolidKernelEntityCR body, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform)
Definition: Constraint3dCoreApi.h:256
void Zero()
Sets all components of a point or vector to zero.
void SetAxis(DVec3dCR axis)
CONSTRAINT3DCORE_EXPORT ISolidKernelEntityPtr GetBody(ElementRefP elementRef, UInt32 entityIndex)
struct DgnPlatform::ElementHandle const & ElementHandleCR
Definition: DgnPlatform.h:260
Definition: Constraint3dCoreApi.h:850
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Save(DataExternalizer &sink)
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
Definition: Constraint3dCoreApi.h:702
struct DRay3d const & DRay3dCR
Definition: msgeomstructs_typedefs.h:120
struct DVec3d const & DVec3dCR
Definition: msgeomstructs_typedefs.h:89
Transform m_transform
Definition: Constraint3dCoreApi.h:141
Type
Definition: Constraint3dCoreApi.h:168
FlagMasks
Definition: Constraint3dCoreApi.h:211
Definition: Constraint3dCoreApi.h:511
Constraint3dBase(Constraint3dType type)
Definition: Constraint3dCoreApi.h:634
virtual CONSTRAINT3DCORE_EXPORT SolverGeometryPtr _CreateSolverGeometry(ISolidKernelEntityCR body, TransformCR dgnToSolverTransform, TransformCR solverToDgnTransform) override
bool LessThanWithoutParams(GeometryIdCR id0, GeometryIdCR id1) const
Angle3dConstraint()
Definition: Constraint3dCoreApi.h:782
CONSTRAINT3DCORE_EXPORT void Draw(ViewContextR viewContext, DgnModelRefR modelRef, T_ElementTransformMap const *transformMap) const
CurvePointGeometryId(ElementHandleCR eh, PersistentElementPathCR pep, Status status, CurvePrimitiveIdPtr &curveId, UInt32 segmentIndex, double fraction)
Definition: Constraint3dCoreApi.h:494
CONSTRAINT3DCORE_EXPORT BentleyStatus SaveOptional(DataExternalizer &sink)
FaceId const * _GetFaceId() const override
Definition: Constraint3dCoreApi.h:556
double m_unused1
Definition: Constraint3dCoreApi.h:780
virtual bool _OmitSolverGeometry()
Definition: Constraint3dCoreApi.h:264
RefCountedPtr< struct Constraint3dBase > Constraint3dPtr
Definition: Constraint3dCoreApi.h:126
CONSTRAINT3DCORE_EXPORT BentleyStatus Extract(DataInternalizer &source)
static Key s_key
Definition: Constraint3dCoreApi.h:827
void SetRootPep(PersistentElementPathCR pep)
Definition: Constraint3dCoreApi.h:243
double m_arcPosition
Definition: Constraint3dCoreApi.h:773
Definition: Constraint3dCoreApi.h:692
Vector with x,y,z components.
Definition: dvec3d.h:110
static CONSTRAINT3DCORE_EXPORT GeometryIdPtr Create(ElementHandleCR eh, ISubEntityCR subEntity)
CONSTRAINT3DCORE_EXPORT void PreprocessTransforms(ElementHandleCR eh, T_ElementTransformMap &transformMap) const
virtual BentleyStatus _Extract(DataInternalizer &source, DgnModelRefR modelRef, Constraint3dBodyCacheP bodyCache) override
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _GetMarkerLocation(DPoint3dR point) const override
virtual bool _IsDimension() const
Definition: Constraint3dCoreApi.h:602
Definition: Constraint3dCoreApi.h:286
T_GeometryIds m_geometryIds
Definition: Constraint3dCoreApi.h:638
virtual DimensionToComponent _DimensionToComponent() const override
Definition: Constraint3dCoreApi.h:480
virtual CONSTRAINT3DCORE_EXPORT bool _LessThan(GeometryIdCR id0, GeometryIdCR id1) const override
static CONSTRAINT3DCORE_EXPORT Constraint3dPtr Create(T_GeometryIds const &geometryIds, DRay3dCR axis, UInt32 flags, double value, WStringCR variableAccess, UInt32 settings)
void SetHalfSpace1(Constraint3dHalfSpace halfSpace)
Definition: Constraint3dCoreApi.h:621
Definition: Constraint3dCoreApi.h:402
A 3d low and high corner pair for range boxes.
Definition: drange3d.h:20
virtual CONSTRAINT3DCORE_EXPORT bool _ValidateRootChange() const override
2d point coordinates.
Definition: dpoint2d.h:23
Definition: Constraint3dCoreApi.h:165
virtual FaceId const * _GetFaceId() const
Definition: Constraint3dCoreApi.h:260
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:51
Constraint3dType m_type
Definition: Constraint3dCoreApi.h:636
virtual DimensionToComponent _DimensionToComponent() const override
Definition: Constraint3dCoreApi.h:394
CONSTRAINT3DCORE_EXPORT Constraint3dSolver()
Definition: Constraint3dCoreApi.h:856
TangentConstraint3d()
Definition: Constraint3dCoreApi.h:652
DVec3d m_axis
Definition: Constraint3dCoreApi.h:775
static CONSTRAINT3DCORE_EXPORT Constraint3dPtr Create(T_GeometryIds const &geometryIds, UInt32 flags, double value, WStringCR variableAccess)
virtual CONSTRAINT3DCORE_EXPORT BentleyStatus _Save(DataExternalizer &sink)