CFx SDK Documentation  2023 SP0
AECDbSpace.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 __AECDBSPACE_H__
25 #define __AECDBSPACE_H__
26 
31 #include "Modeler/FMMdlBody.h"
32 #include "AECArchBaseDefs.h"
33 
34 class AECDbSpace;
36 
42 class AECARCHBASE_API AECDbSpace : public AECDbCellLayoutTool
43 {
45 
47 
48  public:
49  void subSetDatabaseDefaults( OdDbDatabase* pDb, bool doSubent );
50 
55 
60 
65 
70 
80  static bool InitSpaceProfile( const FacetModeler::Profile2D& rBase,
81  AECGeProfileSubPtr pProfile);
82 
89  double GetBaseHeight() const;
90 
97  void SetBaseHeight( double dHeight );
98 
102  double GetOverallSpaceHeight() const;
103 
107  double GetDefaultSurfaceHeight() const;
108 
112  double GetCeilingThickness() const;
113 
117  void SetCeilingThickness( double dThickness );
118 
122  double GetFloorThickness() const;
123 
127  void SetFloorThickness( double dThickness );
128 
132  double GetHeightBelowFloor() const;
133 
137  void SetHeightBelowFloor( double dHeight );
138 
142  double GetHeightAboveCeiling() const;
143 
147  void SetHeightAboveCeiling( double dHeight );
148 
156 
163  const OdString& GetName() const;
164 
171  void SetName( const OdString& strName );
172 
183 
193  void SetNameItem( const OdDbObjectId& idNameItem );
194 
199  void UpdateName();
200 
205 
210 
215 
220 
224  double GetCalculationPlane1() const;
225 
229  void SetCalculationPlane1( double dHeight );
230 
234  double GetCalculationPlane2() const;
235 
239  void SetCalculationPlane2( double dHeight );
240 
245 
250 
255 
260 
268 
275  void SetBaseBody( const FacetModeler::Body& mBody );
276 
280  bool IsAssociative() const;
281 
285  bool IsEditBaseBoundary() const;
286 
290  bool IsEditUsableBoundary() const;
291 
295  bool IsEditGrossBoundary() const;
296 
300  bool IsEditNetBoundary() const;
301 
305  void SetIsEditBaseBoundary( bool bEdit );
306 
310  void SetIsEditUsableBoundary( bool bEdit );
311 
315  void SetIsEditGrossBoundary( bool bEdit );
316 
320  void SetIsEditNetBoundary( bool bEdit );
321 
323  public:
327  virtual OdUInt32 GetLayoutNodeCount() const;
328 
332  virtual OdUInt32 GetLayoutCellCount() const;
333 
337  virtual OdUInt32 GetLayoutNodeIndex( OdUInt32 iPos ) const;
338 
342  virtual OdUInt32 GetLayoutCellIndex( OdUInt32 iPos ) const;
343 
348 
353 
354  public:
359  FacetModeler::Contour2D& rCellBoundContour,
360  FacetModeler::Contour2D& rCellContour ) const;
361 
365  virtual OdResult GetClosestCellTo( const OdGePoint3d& ptGivenPoint, OdUInt32& iIndex ) const;
366 
370  virtual OdResult GetClosestNodeTo( const OdGePoint3d& ptGivenPoint, OdUInt32& iIndex ) const;
371  public:
379  const OdDbObjectId& idSpaceStyle );
380 
382 };
383 
384 #endif //__AECDBSPACE_H__
OdSmartPtr< AECDbSpace > AECDbSpacePtr
Definition: AECDbSpace.h:34
#define CURVE_DECLARE_MEMBERS()
Definition: AECMacros.h:34
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned int OdUInt32
OdResult
Definition: OdResult.h:29
void SetCalculationPlane1(double dHeight)
void SetJustification(AECDefs::SpaceJustification eJustification)
void SetOffsetBoundaries(AECDefs::SpaceOffsetBoundaries eType)
void SetGeometryType(AECDefs::SpaceGeometryType eType)
static bool InitSpaceProfile(const FacetModeler::Profile2D &rBase, AECGeProfileSubPtr pProfile)
AECGeProfileSubPtr GetUsableProfile() const
OdDbObjectId GetNameItem() const
AECSpaceSurfaceSubPtr GetCeilingSurface() const
AECGeProfileSubPtr GetGrossProfile() const
double GetOverallSpaceHeight() const
AECGeProfileSubPtr GetNetProfile() const
AECImpArraySubPtr GetInterferences() const
void SetCalculationPlane2(double dHeight)
void SetBaseBody(const FacetModeler::Body &mBody)
void SetHeightAboveCeiling(double dHeight)
double GetBaseHeight() const
void UpdateName()
double GetHeightBelowFloor() const
double GetHeightAboveCeiling() const
double GetDefaultSurfaceHeight() const
virtual OdUInt32 GetLayoutCellIndex(OdUInt32 iPos) const
virtual OdGeMatrix3d GetLayoutNodeTransform(OdUInt32 iPos) const
AECGeProfileSubPtr GetBaseProfile() const
void SetIsEditGrossBoundary(bool bEdit)
AECImpArraySubPtr GetFreeformSurfaces() const
virtual OdResult GetCellContour(OdUInt32 iIndex, FacetModeler::Contour2D &rCellBoundContour, FacetModeler::Contour2D &rCellContour) const
static AECDbSpacePtr CreateAECObject(const OdDbObjectId &idBlock, const OdDbObjectId &idSpaceStyle)
void SetIsEditUsableBoundary(bool bEdit)
bool IsEditBaseBoundary() const
void SetIsEditBaseBoundary(bool bEdit)
void SetBaseHeight(double dHeight)
bool IsEditNetBoundary() const
void SetCeilingThickness(double dThickness)
virtual OdResult GetClosestNodeTo(const OdGePoint3d &ptGivenPoint, OdUInt32 &iIndex) const
void SetFloorThickness(double dThickness)
double GetCalculationPlane1() const
AECDefs::SpaceGeometryType GetGeometryType() const
void SetNameItem(const OdDbObjectId &idNameItem)
virtual OdUInt32 GetLayoutCellCount() const
static AECDefs::SpacePredefinedStandard GetCurrentSpaceBoundaryStandard(OdDbDatabase *pDb)
virtual OdGeMatrix3d GetLayoutCellTransform(OdUInt32 iPos) const
double GetCalculationPlane2() const
FacetModeler::Body GetBaseBody() const
virtual OdUInt32 GetLayoutNodeCount() const
double GetCeilingThickness() const
double GetFloorThickness() const
bool IsEditGrossBoundary() const
void subSetDatabaseDefaults(OdDbDatabase *pDb, bool doSubent)
virtual OdResult GetClosestCellTo(const OdGePoint3d &ptGivenPoint, OdUInt32 &iIndex) const
AECDefs::SpaceOffsetBoundaries GetOffsetBoundaries() const
void SetHeightBelowFloor(double dHeight)
AECDefs::SpaceJustification GetJustification() const
bool IsAssociative() const
void SetIsEditNetBoundary(bool bEdit)
void SetName(const OdString &strName)
virtual OdUInt32 GetLayoutNodeIndex(OdUInt32 iPos) const
const OdString & GetName() const
bool IsEditUsableBoundary() const
AECSpaceSurfaceSubPtr GetFloorSurface() const