CFx SDK Documentation  2023 SP0
AECIndexSpecifierLocation.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 __AECINDEXSPECIFIERLOCATION_H__
25 #define __AECINDEXSPECIFIERLOCATION_H__
26 
28 
34 class AECBASE_API AECIndexSpecifierLocation : public AECIndexSpecifier
35 {
37 
38  public:
42  bool IsStart() const;
43 
47  void SetIsStart( bool bIsStart );
48 
52  bool IsMiddle() const;
53 
57  void SetIsMiddle( bool bIsMiddle );
58 
62  bool IsEnd() const;
63 
67  void SetIsEnd( bool bIsEnd );
68 
72  virtual bool IsAppliedTo( OdUInt16 iIndex,
73  OdUInt16 iNumOfElements ) const;
74 
75  protected:
77  // Location flags.
78  union Flags
79  {
81  struct
82  {
83 #ifdef ODA_BIGENDIAN
84  OdUInt16 uUnused01 : 13;
85  OdUInt16 bMiddle : 1;
86  OdUInt16 bEnd : 1;
87  OdUInt16 bStart : 1;
88 #else
93 #endif
94  } m_bBits;
95  };
96 
97  protected:
98  // Flags specifying indices location.
100 };
101 
104 
105 #endif // __AECINDEXSPECIFIERLOCATION_H__
AECSubPtr< AECIndexSpecifierLocation > AECIndexSpecifierLocationSubPtr
OdSmartPtr< AECIndexSpecifierLocation > AECIndexSpecifierLocationPtr
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned short OdUInt16
void SetIsMiddle(bool bIsMiddle)
virtual bool IsAppliedTo(OdUInt16 iIndex, OdUInt16 iNumOfElements) const
void SetIsStart(bool bIsStart)
void SetIsEnd(bool bIsEnd)