CFx SDK Documentation  2023 SP0
AECGrConstraint.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 #ifndef __AECGR_CONSTRAINT_H__
24 #define __AECGR_CONSTRAINT_H__
25 
26 #include "Grips/AECGr.h"
27 #include "FMContour2D.h"
28 #include <Ge/GePlane.h>
29 #include <Ge/GeRay3d.h>
30 
32 
37 class AECBASE_API AECGripConstraint : public OdRxObject
38 {
40 
41  public:
47 
52  const OdGePlane& cPlane );
53 
58  const OdGePoint3d& ptOrigin, const OdGeVector3d& vDirection );
59 
64  const OdGePoint3d& ptOrigin, const OdGeVector3d& vDirection );
65 
70  const OdGePoint3d& pt1, const OdGePoint3d& pt2 );
71 
76  const OdGeCircArc3d& cCircle );
77 
82  const OdGePoint3d& ptOrigin, const OdGeVector3d& vDirection );
83 
88  const OdDbObjectId& idCurve );
89 
94  const FacetModeler::Contour2D& cBase);
95 
96  public:
100  virtual AECGr::Result apply( const OdGeVector3d& vViewDir,
101  const OdGePoint3d& ptGrip, OdGePoint3d& ptNew ) = 0;
102 };
103 
104 #endif // __AECGR_CONSTRAINT_H__
OdSmartPtr< class AECGripConstraint > AECGripConstraintPtr
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:131
static AECGripConstraintPtr toSegment(const OdGePoint3d &pt1, const OdGePoint3d &pt2)
static AECGripConstraintPtr toLine(const OdGePoint3d &ptOrigin, const OdGeVector3d &vDirection)
virtual AECGr::Result apply(const OdGeVector3d &vViewDir, const OdGePoint3d &ptGrip, OdGePoint3d &ptNew)=0
static AECGripConstraintPtr toPolyline(const FacetModeler::Contour2D &cBase)
static AECGripConstraintPtr toCircle(const OdGeCircArc3d &cCircle)
static AECGripConstraintPtr toPlane(const OdGePlane &cPlane)
static AECGripConstraintPtr toRadialRay(const OdGePoint3d &ptOrigin, const OdGeVector3d &vDirection)
static AECGripConstraintPtr toNone()
static AECGripConstraintPtr toRay(const OdGePoint3d &ptOrigin, const OdGeVector3d &vDirection)
static AECGripConstraintPtr toAcDbCurve(const OdDbObjectId &idCurve)
Result
Definition: AECGr.h:56