CFx SDK Documentation  2023 SP0
AECGripManager.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_MANAGER_H__
24 #define __AECGRIP_MANAGER_H__
25 
26 #include "Grips/AECGrip.h"
27 #include "Grips/AECGrPoint.h"
28 #include "DbEntity/AECDbEntity.h"
29 
34 class AECBASE_API AECGripManager : public OdRxObject
35 {
37 
38  public:
43 
47  void init( AECDbEntity* pEnt,
48  double dUnitSize, OdUInt8 iGripSize, const OdGeVector3d& vViewDir, OdUInt8 iFlags );
49 
53  AECDbEntity* entity() const;
54 
58  double gripSize() const;
59 
64  bool is3d() const;
65 
68  bool isFullSet() const;
69 
72  bool isDispRepActive( OdRxClass* pClass ) const;
73 
77  const OdGeVector3d& viewDirection() const;
78 
81  std::vector<AECGripPtr>& grips() const;
82 
85  std::vector<AECGrPoint>& points() const;
86 
89  std::vector<OdUInt32>& modes() const;
90 
95 
100  const std::vector<OdUInt32>& aModes, const OdGeVector3d& vOffset );
101 
104  void clear();
105 
109 
112  void setEntityGripState( OdUInt8 iState ) const;
113 
114  private:
115  //
116  AECDbEntity* m_pEnt;
117 
118  //
119  double m_dViewUnit;
120 
121  //
122  OdUInt8 m_iGripSize;
123 
124  //
125  OdGeVector3d m_vViewDir;
126 
127  //
128  bool m_bFullSet;
129 
130  // High-level grip providers.
131  std::vector<AECGripPtr> m_aGrips;
132 
133  // Low-level grip points.
134  std::vector<AECGrPoint> m_aPts;
135 
136  //
137  std::vector<OdUInt32> m_aModes;
138 
139  //
140  std::vector<OdUInt32> m_aPos;
141 };
143 
144 #endif // __AECGRIP_MANAGER_H__
OdSmartPtr< AECGripManager > AECGripManagerPtr
unsigned char OdUInt8
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition: RxObject.h:131
double gripSize() const
bool is3d() const
std::vector< AECGrPoint > & points() const
std::vector< OdUInt32 > & modes() const
bool isFullSet() const
AECGr::Result moveGrips(const OdDbVoidPtrArray &aGripAppData, const std::vector< OdUInt32 > &aModes, const OdGeVector3d &vOffset)
void setEntityGripState(OdUInt8 iState) const
AECGr::Result regenerateGrips()
OdUInt8 entityGripState() const
void init(AECDbEntity *pEnt, double dUnitSize, OdUInt8 iGripSize, const OdGeVector3d &vViewDir, OdUInt8 iFlags)
std::vector< AECGripPtr > & grips() const
bool isDispRepActive(OdRxClass *pClass) const
AECDbEntity * entity() const
const OdGeVector3d & viewDirection() const
Result
Definition: AECGr.h:56