CFx SDK Documentation  2023 SP0
AECGrip.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 __AECGRIP_H__
24 #define __AECGRIP_H__
25 
26 #include "AECBase.h"
27 #include "Grips/AECGr.h"
28 #include "Grips/AECGrPoint.h"
29 
30 class AECDbEntity;
31 class AECGripManager;
32 
36 namespace AECGr
37 {
38  AECBASE_API void RegisterObjects();
39  AECBASE_API void UnregisterObjects();
40 }
41 
45 class AECBASE_API AECGrip : public OdRxObject
46 {
48 
49  public:
50  virtual AECGr::Result getGripPoints( const AECGripManager* pContext,
51  std::vector<AECGrPoint>& aPts ) = 0;
52 
53  virtual AECGr::Result moveGripPoints( const AECGripManager* pContext,
54  const OdGePoint3d& ptBase, OdUInt32 iAffected, const OdGeVector3d& vOffset, OdUInt32 iMode ) = 0;
55 };
57 
58 #define AECGREXTMETHOD_DECLARE_CLASS( Export, ClassName, ParentName ) \
59 class Export ClassName : public ParentName \
60 { \
61  ODRX_DECLARE_MEMBERS( ClassName ); \
62  public: \
63  virtual AECGr::Result getGripPoints( const AECGripManager* pContext, \
64  std::vector<AECGrPoint>& aPts ); \
65  virtual AECGr::Result moveGripPoints( const AECGripManager* pContext, \
66  const OdGePoint3d& ptBase, OdUInt32 iAffected, const OdGeVector3d& vOffset, OdUInt32 iMode ); \
67 }; \
68 typedef OdSmartPtr<ClassName> ClassName##Ptr
69 
70 #endif // __AECGRIP_H__
OdSmartPtr< AECGrip > AECGripPtr
Definition: AECGrip.h:56
unsigned int OdUInt32
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:131
virtual AECGr::Result getGripPoints(const AECGripManager *pContext, std::vector< AECGrPoint > &aPts)=0
virtual AECGr::Result moveGripPoints(const AECGripManager *pContext, const OdGePoint3d &ptBase, OdUInt32 iAffected, const OdGeVector3d &vOffset, OdUInt32 iMode)=0
Definition: AECGr.h:31
AECBASE_API void RegisterObjects()
AECBASE_API void UnregisterObjects()
Result
Definition: AECGr.h:56