CFx SDK Documentation  2023 SP0
AECCustomMemberBlock.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 __AECCUSTOMMEMBERBLOCK_H__
25 #define __AECCUSTOMMEMBERBLOCK_H__
26 
28 #include "Ge/GeVector3d.h"
29 #include "UInt32Array.h"
30 
36 class AECSTRUCTUREBASE_API AECCustomMemberBlock : public AECDispCompEnt
37 {
39 
40  public:
47  enum FitType
48  {
49  eNo = 0,
50  eScaleToFit = 1,
51  eSpaceEvently = 2
52  };
53 
57  enum Display
58  {
59  eAlways = 0,
60  eWhenIntersectingCutPlane = 1,
61  eWhenAboveCutPlane = 2,
62  eWhenBelowCutPlane = 3
63  };
64 
66  {
70  };
71 
72  public:
77 
81  void SetBlock( const OdDbObjectId& idBlock );
82 
87 
91  void SetXPosition( XPosition ePosition );
92 
96  bool IsMirrorX() const;
97 
101  void SetIsMirrorX( bool bMirror );
102 
106  bool IsMirrorY() const;
107 
111  void SetIsMirrorY( bool bMirror );
112 
116  bool IsMirrorZ() const;
117 
121  void SetIsMirrorZ( bool bMirror );
122 
127 
131  void SetInsertionOffset( const OdGeVector3d& vOffset );
132 
136  bool IsRepeatBlockDisplay() const;
137 
141  void SetIsRepeatBlockDisplay( bool bRepeat );
142 
146  double GetStartOffsetX() const;
147 
151  void SetStartOffsetX( double dOffset );
152 
156  double GetEndOffsetX() const;
157 
161  void SetEndOffsetX( double dOffset );
162 
166  double GetSpaceBetween() const;
167 
171  void SetSpaceBetween( double dSpace );
172 
176  FitType GetFit() const;
177 
181  void SetFit( FitType eType );
182 
190 
197  void SetDisplayCondition( Display eCondition );
198 
200 
201  void SetOperationType( OperationType operationType);
202  protected:
203  // Pointer to block table record.
205 
206  // Flags.
208 
209  // Insertion offset.
211 
212  // Start offset.
214 
215  // End offset.
216  double m_dEndOffset;
217 
218  // Space between block insertions.
220 
221  // Display type.
223 
224  // AC21
227 };
228 
231 
232 #endif // __AECCUSTOMMEMBERBLOCK_H__
AECSubPtr< AECCustomMemberBlock > AECCustomMemberBlockSubPtr
OdSmartPtr< AECCustomMemberBlock > AECCustomMemberBlockPtr
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned char OdUInt8
void SetIsMirrorX(bool bMirror)
double GetSpaceBetween() const
void SetInsertionOffset(const OdGeVector3d &vOffset)
bool IsRepeatBlockDisplay() const
void SetFit(FitType eType)
double GetEndOffsetX() const
const OdGeVector3d & GetInsertionOffset() const
OperationType operationType() const
void SetIsMirrorZ(bool bMirror)
OdDbHardPointerId m_hpidBlock
OdDbObjectId GetBlock() const
FitType GetFit() const
void SetDisplayCondition(Display eCondition)
bool IsMirrorY() const
void SetBlock(const OdDbObjectId &idBlock)
double GetStartOffsetX() const
bool IsMirrorZ() const
void SetEndOffsetX(double dOffset)
Display GetDisplayCondition() const
void SetSpaceBetween(double dSpace)
void SetOperationType(OperationType operationType)
void SetStartOffsetX(double dOffset)
void SetIsMirrorY(bool bMirror)
XPosition GetXPosition() const
void SetXPosition(XPosition ePosition)
bool IsMirrorX() const
void SetIsRepeatBlockDisplay(bool bRepeat)