CFx SDK Documentation  2023 SP0
AECWallCutLine.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 __AECWALLCUTLINE_H__
25 #define __AECWALLCUTLINE_H__
26 
27 #include "Subobjects/AECImpArray.h"
29 #include "FMContour2D.h"
30 
36 class AECARCHBASE_API AECWallCutLine : public AECImpObj
37 {
39 
40  public:
44  enum Side
45  {
46  eTop = 0,
47  eBottom = 1
48  };
49 
53  Side GetSide() const;
54 
58  void SetSide( Side eSide );
59 
64 
75 
80 
81  public:
92  double GetHorizontalOffset( OdUInt32 iIndex,
93  double dWallLength = 0 ) const;
94 
105  double GetVerticalOffset( OdUInt32 iIndex,
106  double dBaseHeight = 0 ) const;
107 
113  void Reverse( );
114 
123  {
124  eVertDefault = 0,
125  eVertBaseLine = 0x1,
126  eVertPrevPoint = 0x2,
127  eVertNextPoint = 0x3,
128  eVertBaseHeight = 0x4,
129  eHorzDefault = 0,
130  eHorzWallStart = 0x10,
131  eHorzWallEnd = 0x20,
132  eHorzWallMidPoint = 0x30,
133  eHorzPrevPoint = 0x40,
134  eHorzNextPoint = 0x50,
135  eHorzMidOfNeighbours = 0x60
136  };
137 
151  double dWallLength = 0, double dWallHeight = 0 ) const;
152 
160  void SetRawCutLine( const FacetModeler::Contour2D& cCutLine,
161  double dWallLength = 0, double dWallHeight = 0 );
162 
163  protected:
164  //
166 
167  // Cut Line Anchors.
169 };
170 
173 
174 #endif //__AECWALLCUTLINE_H__
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
AECSubPtr< AECWallCutLine > AECWallCutLineSubPtr
OdSmartPtr< AECWallCutLine > AECWallCutLinePtr
unsigned int OdUInt32
OdUInt32 GetAnchorCount() const
double GetVerticalOffset(OdUInt32 iIndex, double dBaseHeight=0) const
void SetRawCutLine(const FacetModeler::Contour2D &cCutLine, double dWallLength=0, double dWallHeight=0)
AECWallCutLineAnchorSubPtr GetAnchor(OdUInt32 iIndex) const
void GetRawCutLine(FacetModeler::Contour2D &cCutLine, double dWallLength=0, double dWallHeight=0) const
void SetSide(Side eSide)
double GetHorizontalOffset(OdUInt32 iIndex, double dWallLength=0) const
AECImpArray m_aWallCutLineAnchors
AECImpArraySubPtr GetAnchors() const
Side GetSide() const