CFx SDK Documentation  2023 SP0
AECGeRoofSegment.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 __AECGEROOFSEGMENT_H__
25 #define __AECGEROOFSEGMENT_H__
26 
28 #include <DoubleArray.h>
29 
35 class AECARCHBASE_API AECGeRoofSegment : public AECGeSegment2d
36 {
38 
39  public:
48 
56  void SetSegmentCount( OdUInt32 iCount );
57 
61  double GetOverhang() const;
62 
66  void SetOverhang( double dOverhang );
67 
72 
76  void SetFaceCount( OdUInt32 iCount );
77 
84  double GetFaceHeightByIndex( OdUInt32 iIndex ) const;
85 
92  void SetFaceHeightByIndex( OdUInt32 iIndex, double dHeight );
93 
100  double GetFaceSlopeByIndex( OdUInt32 iIndex ) const;
101 
108  void SetFaceSlopeByIndex( OdUInt32 iIndex, double dSlope );
109 
117  virtual OdUInt32 GetSubsegmentCount() const;
118 
119  double GetBaseHeight() const;
120 
121  void SetBaseHeight( double dBaseHeight );
122 
126  virtual void copyFrom( const OdRxObject* pSource);
127 
128  protected:
129  // The number of segments this roof segment consists of.
130  // The roof segments with the number of segments greater than 1
131  // may be generated via convertion polyline with arc segments into the roof.
133 
134  // Overhang. Measured along Z axis.
135  // The overhang value should be non-negative.
136  double m_dOverhang;
137 
138  // Array of the height values for all faces in roof segment.
140 
141  // Slope values for all faces in roof segment.
143 
144  // Base height.
146 };
147 
150 
151 #endif //__AECGEROOFSEGMENT_H__
AECSubPtr< AECGeRoofSegment > AECGeRoofSegmentSubPtr
OdSmartPtr< AECGeRoofSegment > AECGeRoofSegmentPtr
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned int OdUInt32
OdDoubleArray m_aHeights
OdUInt32 GetFaceCount() const
double GetOverhang() const
double GetBaseHeight() const
void SetSegmentCount(OdUInt32 iCount)
void SetBaseHeight(double dBaseHeight)
void SetFaceHeightByIndex(OdUInt32 iIndex, double dHeight)
OdDoubleArray m_aSlopes
void SetOverhang(double dOverhang)
double GetFaceSlopeByIndex(OdUInt32 iIndex) const
void SetFaceSlopeByIndex(OdUInt32 iIndex, double dSlope)
OdUInt32 GetSegmentCount() const
double GetFaceHeightByIndex(OdUInt32 iIndex) const
virtual OdUInt32 GetSubsegmentCount() const
void SetFaceCount(OdUInt32 iCount)
virtual void copyFrom(const OdRxObject *pSource)