CFx SDK Documentation  2023 SP0
AECDbStair.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 __AECDBSTAIR_H__
25 #define __AECDBSTAIR_H__
26 
27 #include "AECArchBaseDefs.h"
28 #include "DbEntity/AECDbGeo.h"
33 
34 class AECDbStair;
36 
42 class AECARCHBASE_API AECDbStair : public AECDbGeo
43 {
45 
47 
48  public:
49  // Destription:
50  // Returns vertical orientation.
52 
57 
62 
67 
71  bool IsSlopingRisers() const;
72 
76  void SetIsSlopingRisers( bool bSloping );
77 
84  double GetNosingLength() const;
85 
92  void SetNosingLength( double dNosingLength );
93 
97  double GetAdditionalWidth() const;
98 
102  void SetAdditionalWidth( double dWidth );
103 
108 
112  void SetDistanceToFirstTreadUp( double dDistance );
113 
118 
122  void SetDistanceToFirstTreadDown( double dDistance );
123 
127  bool IsAddTreadDepthUp() const;
128 
132  void SetIsAddTreadDepthUp( bool bAdd );
133 
137  bool IsAddTreadDepthDown() const;
138 
142  void SetIsAddTreadDepthDown( bool bAdd );
143 
149 
154  void SetIsExtendToMergeStringers( bool bExtend );
155 
161 
167 
172 
177 
182 
186  void SetMinFlightLimit( OdUInt16 iLimit );
187 
191  double GetMinFlightHeight() const;
192 
196  void SetMinFlightHeight( double dHeight );
197 
202 
207 
212 
216  void SetMaxFlightLimit( OdUInt16 iLimit );
217 
221  double GetMaxFlightHeight() const;
222 
226  void SetMaxFlightHeight( double dHeight );
227 
232 
237 
242 
247 
252 
257 
261  double GetGraphicsPathOffset() const;
262 
266  void SetGraphicsPathOffset( double dOffset );
267 
275 
282  void SetWinderStyle( const OdDbObjectId& idWinderStyle );
283 
288 
292  double GetTreadAngleByIndex( OdUInt32 iIndex ) const;
293 
298 
303 
308 
313 
318 
323 
328 
336 
344 
354  void SetWidth( double dWidth );
355 
365  void Regenerate( bool bComplete = false );
366 
367  // Smart methods.
368  public:
376  double dOffset = 0 ) const;
377 
386  double dOffset = 0 ) const;
387 
395  double dOffset = 0 ) const;
396 
405  double dOffset = 0 ) const;
406 
414  double dOffset = 0 ) const;
415 
424  double dOffset = 0 ) const;
425 
426  public:
431  const OdDbObjectId& idStairStyle );
432 
441  static AECDbStairPtr CreateStraight( const OdDbObjectId& idBlock,
442  const OdDbObjectId& idStairStyle, double dHeight, double dWidth );
443 
464  static AECDbStairPtr CreateMulti( const OdDbObjectId& idBlock,
465  const OdDbObjectId& idStairStyle, double dHeight, double dWidth,
467 
479  static AECDbStairPtr CreateSpiral( const OdDbObjectId& idBlock,
480  const OdDbObjectId& idStairStyle, double dHeight, double dWidth,
481  const OdGeVector2d& vRefVector, double dRadius, bool bClockwise = false );
482 
500  static AECDbStairPtr CreateUShaped( const OdDbObjectId& idBlock,
501  const OdDbObjectId& idStairStyle, double dHeight, double dWidth,
502  const OdGePoint2d& ptStart, const OdGePoint2d& ptEnd,
503  AECDefs::StairCreatorPointType eType, bool bClockwise = false );
504 };
505 
506 #endif // __AECDBSTAIR_H__
OdSmartPtr< AECDbStair > AECDbStairPtr
Definition: AECDbStair.h:34
#define CURVE_DECLARE_MEMBERS()
Definition: AECMacros.h:34
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned int OdUInt32
unsigned short OdUInt16
bool IsExtendToMergeStringers() const
void SetMinFlightLimitType(AECDefs::StairFlightLengthLimit eType)
AECImpArraySubPtr GetBodyModifiers() const
AECStairCreatorSubPtr GetStairCreator() const
void SetIsExtendToPreventRisersSittingUnderLandings(bool bExtend)
OdUInt32 GetTreadCount() const
AECImpArraySubPtr GetInterferences() const
static AECDbStairPtr CreateSpiral(const OdDbObjectId &idBlock, const OdDbObjectId &idStairStyle, double dHeight, double dWidth, const OdGeVector2d &vRefVector, double dRadius, bool bClockwise=false)
double GetTreadAngleByIndex(OdUInt32 iIndex) const
double GetMinFlightHeight() const
void GetCompRightSideContour(OdUInt32 iIndex, FacetModeler::Contour2D &rResult, double dOffset=0) const
double GetMaxFlightHeight() const
void SetIsAddTreadDepthUp(bool bAdd)
void SetIsSlopingRisers(bool bSloping)
double GetNosingLength() const
void SetDistanceToFirstTreadUp(double dDistance)
void SetAdditionalWidth(double dWidth)
OdUInt32 GetSpanCount() const
OdDbObjectId GetWinderStyle() const
bool IsSlopingRisers() const
void SetIsExtendToMergeStringers(bool bExtend)
OdUInt16 GetMaxFlightLimit() const
void SetIsAddTreadDepthDown(bool bAdd)
static AECDbStairPtr CreateStraight(const OdDbObjectId &idBlock, const OdDbObjectId &idStairStyle, double dHeight, double dWidth)
void SetMinFlightHeight(double dHeight)
static AECDbStairPtr CreateMulti(const OdDbObjectId &idBlock, const OdDbObjectId &idStairStyle, double dHeight, double dWidth, AECDefs::StairCreatorPointType eType, const FacetModeler::Contour2D &rBaseline)
AECStairFlightSpanSubPtr GetSpanByIndex(OdUInt32 iIndex) const
AECDefs::StairUShapedFlight GetExtendAlignmentOn() const
AECDefs::StairFlightLengthLimit GetMaxFlightLimitType() const
void SetJustification(AECDefs::StairJustification eJustification)
bool IsAddTreadDepthUp() const
bool IsExtendToPreventRisersSittingUnderLandings() const
void SetMinFlightLimit(OdUInt16 iLimit)
void SetWidth(double dWidth)
AECStairComponentSubPtr GetComponentByIndex(OdUInt32 iIndex) const
AECDefs::StairVerticalOrientation GetVerticalOrientation() const
void SetWinderStyle(const OdDbObjectId &idWinderStyle)
void SetMaxFlightHeight(double dHeight)
void SetTerminateWith(AECDefs::StairTerminateWith eTerminateWith)
static AECDbStairPtr CreateAECObject(const OdDbObjectId &idBlock, const OdDbObjectId &idStairStyle)
void SetUnevenTreadOn(AECDefs::StairUShapedFlight eFlight)
double GetGraphicsPathOffset() const
void GetBaselineContour(FacetModeler::Contour2D &rResult, double dOffset=0) const
void GetLeftSideContour(FacetModeler::Contour2D &rResult, double dOffset=0) const
void SetVerticalOrientation(AECDefs::StairVerticalOrientation eOrientation)
void SetMaxFlightLimitType(AECDefs::StairFlightLengthLimit eType)
AECDefs::StairUShapedFlight GetUnevenTreadOn() const
AECDefs::StairTerminateWith GetTerminateWith() const
void SetNosingLength(double dNosingLength)
AECDefs::StairFlightLengthLimit GetMinFlightLimitType() const
AECStairCalculatorDataSubPtr GetCalculatorData() const
void GetCompLeftSideContour(OdUInt32 iIndex, FacetModeler::Contour2D &rResult, double dOffset=0) const
void SetDistanceToFirstTreadDown(double dDistance)
AECImpArraySubPtr GetComponents() const
double GetDistanceToFirstTreadDown() const
bool IsAddTreadDepthDown() const
void Regenerate(bool bComplete=false)
double GetDistanceToFirstTreadUp() const
void GetCompBaselineContour(OdUInt32 iIndex, FacetModeler::Contour2D &rResult, double dOffset=0) const
AECDefs::StairJustification GetJustification() const
static AECDbStairPtr CreateUShaped(const OdDbObjectId &idBlock, const OdDbObjectId &idStairStyle, double dHeight, double dWidth, const OdGePoint2d &ptStart, const OdGePoint2d &ptEnd, AECDefs::StairCreatorPointType eType, bool bClockwise=false)
void SetMaxFlightLimit(OdUInt16 iLimit)
double GetAdditionalWidth() const
OdUInt16 GetMinFlightLimit() const
OdUInt32 GetComponentCount() const
void SetExtendAlignmentOn(AECDefs::StairUShapedFlight eFlight)
void SetGraphicsPathOffset(double dOffset)
void GetRightSideContour(FacetModeler::Contour2D &rResult, double dOffset=0) const
StairVerticalOrientation