CFx SDK Documentation  2023 SP0
AECOverrideHatchAlignment.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 __AECOVERRIDEHATCHALIGNMENT_H__
25 #define __AECOVERRIDEHATCHALIGNMENT_H__
26 
28 #include <Ge/GePoint3d.h>
29 #include <Ge/GeVector3d.h>
30 
36 class AECBASE_API AECOverrideHatchAlignment : public AECOverride
37 {
39 
40  public:
45 
49  void SetMaterial( const OdDbObjectId& idMaterial );
50 
55 
59  void SetDispRep( const OdDbObjectId& idDispRep );
60 
65 
69  void SetOffset( const OdGeVector2d& vOffset );
70 
74  double GetRotation() const;
75 
79  void SetRotation( double dRotation );
80 
84  bool IsVisibleHatch() const;
85 
89  void SetIsVisibleHatch( bool bVisible );
90 
94  bool IsApplyByOrientation() const;
95 
99  void SetIsApplyByOrientation( bool bByOrientation );
100 
105 
110 
114  const OdGePoint3d& GetPlaneOrigin() const;
115 
119  void SetPlaneOrigin( const OdGePoint3d& ptOrigin );
120 
124  const OdGeVector3d& GetPlaneNormal() const;
125 
129  void SetPlaneNormal( const OdGeVector3d& vNormal );
130 
131  protected:
132  // Display Representation.
134 
135  // Material Definition.
137 
138  // Override Index.
140 
141  // Flags.
142  union
143  {
145  struct
146  {
147 #ifdef ODA_BIGENDIAN
148  OdUInt16 uReserved : 5;
149  OdUInt16 uOrientation : 3; // 0 - top, 1 - bottom, 2 - left, 3 - right, 4 - front, 5 - back
150  OdUInt16 uUnknown01 : 6;
151  OdUInt16 bAllFacesByOri : 1;
152  OdUInt16 bHideHatch : 1;
153 #else
157  OdUInt16 uOrientation : 3; // 0 - top, 1 - bottom, 2 - left, 3 - right, 4 - front, 5 - back
159 #endif
160  } bBits;
161  } m_Flags;
162 
163  // Offset along X axis.
164  double m_dXOffset;
165 
166  // Offset along Y axis.
167  double m_dYOffset;
168 
169  // Rotation.
170  double m_dRotation;
171 
172  // Origin of the plane,
173  // that that defines which faces are affected.
175 
176  // Normal of the plane,
177  // that that defines which faces are affected.
179 };
180 
183 
184 #endif //__AECOVERRIDEHATCHALIGNMENT_H__
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
OdSmartPtr< AECOverrideHatchAlignment > AECOverrideHatchAlignmentPtr
AECSubPtr< AECOverrideHatchAlignment > AECOverrideHatchAlignmentSubPtr
unsigned short OdUInt16
FacetModeler::FaceOrientation GetOrientation() const
void SetIsApplyByOrientation(bool bByOrientation)
double GetRotation() const
void SetPlaneNormal(const OdGeVector3d &vNormal)
void SetDispRep(const OdDbObjectId &idDispRep)
const OdGePoint3d & GetPlaneOrigin() const
void SetOffset(const OdGeVector2d &vOffset)
const OdGeVector3d & GetPlaneNormal() const
bool IsApplyByOrientation() const
void SetRotation(double dRotation)
void SetIsVisibleHatch(bool bVisible)
void SetOrientation(FacetModeler::FaceOrientation eOrientation)
OdGeVector2d GetOffset() const
void SetPlaneOrigin(const OdGePoint3d &ptOrigin)
void SetMaterial(const OdDbObjectId &idMaterial)
OdDbObjectId GetMaterial() const
OdDbObjectId GetDispRep() const