CFx SDK Documentation  2023 SP0
AECDbMassElem.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 
24 #ifndef __AECDBMASSELEM_H__
25 #define __AECDBMASSELEM_H__
26 
27 #include "DbEntity/AECDbGeo.h"
29 #include "Geometry/AECMesh.h"
30 #include "Modeler/FMMdlBody.h"
31 
32 class AECDbMassElem;
34 
40 class AECBASE_API AECDbMassElem : public AECDbGeo
41 {
43 
45 
46  public:
50  enum Type
51  {
52  eArch = 0,
53  eBarrelVault = 1,
54  eBox = 2,
55  eDoric = 3,
56  eCone = 4,
57  eCylinder = 5,
58  eDome = 6,
59  eGable = 7,
60  ePyramid = 8,
61  eIsoscelesTriangle = 9,
62  eRightTriangle = 10,
63  eSphere = 11,
64  eExtrusion = 12,
66  eFreeForm = 14
67  };
68 
69  public:
73  Type GetType() const;
74 
78  void SetType( Type eType );
79 
83  double GetDepth() const;
84 
88  void SetDepth( double dDepth );
89 
93  double GetHeight() const;
94 
98  void SetHeight( double dHeight );
99 
103  double GetRise() const;
104 
108  void SetRise( double dRise );
109 
113  double GetRadius() const;
114 
118  void SetRadius( double dRadius );
119 
123  double GetWidth() const;
124 
128  void SetWidth( double dWidth );
129 
134 
138  void SetProfile( const OdDbObjectId& idProfileDef );
139 
144 
153 
158 
165  void SetBody(const FacetModeler::Body& rBody);
166 
171 
172  public:
183  const OdDbObjectId& idMassElemStyle );
184 };
185 
186 #endif //__AECDBMASSELEM_H__
OdSmartPtr< AECDbMassElem > AECDbMassElemPtr
Definition: AECDbMassElem.h:32
#define CURVE_DECLARE_MEMBERS()
Definition: AECMacros.h:34
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
void SetType(Type eType)
void SetHeight(double dHeight)
FacetModeler::Body GetBody() const
double GetRise() const
AECGeProfileSubPtr GetEmbeddedProfile() const
static AECDbMassElemPtr CreateAECObject(const OdDbObjectId &idBlock, const OdDbObjectId &idMassElemStyle)
void SetRise(double dRise)
void SetDepth(double dDepth)
void SetRadius(double dRadius)
double GetHeight() const
double GetDepth() const
void SetProfile(const OdDbObjectId &idProfileDef)
Type GetType() const
void GetBaseProfile(FacetModeler::Profile2D &cProfile) const
double GetRadius() const
OdDbObjectId GetOwnerGroup() const
double GetWidth() const
OdDbObjectId GetProfile() const
void SetWidth(double dWidth)
void SetBody(const FacetModeler::Body &rBody)