CFx SDK Documentation  2023 SP0
AECCustomGridNode.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 __AECCUSTOMGRIDNODE_H__
25 #define __AECCUSTOMGRIDNODE_H__
26 
28 #include "UInt32Array.h"
29 #include "DoubleArray.h"
30 
36 class AECBASE_API AECCustomGridNode : public AECLayoutNode
37 {
39 
40  public:
44  enum Type
45  {
46  eStart = 0,
47  eEnd = 1,
48  eIntersection = 2
49  };
50 
51  public:
55  Type GetType() const;
56 
60  void SetType( Type eType );
61 
70 
75 
80 
84  double GetParamByIndex( OdUInt32 iIndex ) const;
85 
89  void SetToStarting( OdUInt32 iIndex );
90 
94  void SetToEnding( OdUInt32 iIndex );
95 
99  void SetToIntersection( OdUInt32 iIndex1, OdUInt32 iIndex2,
100  double dParam1, double dParam2 );
101 
105  void SetToIntersection( const OdUInt32Array& aIndices, const OdDoubleArray& aParams );
106 
107  protected:
108  // Type of node.
109  // Either 0, 1 or 2.
111 
112  // If m_iType is 0 or 1
113  // this array contains 1 element.
114  // If m_iType is 2
115  // this array may contains any number of elements.
117 
118  // If m_iType is 0 or 1
119  // this array contains zero elements.
120  // If m_iType is 2
121  // this array may contains any number of elements.
123 };
124 
127 
128 #endif // __AECCUSTOMGRIDNODE_H__
OdSmartPtr< AECCustomGridNode > AECCustomGridNodePtr
AECSubPtr< AECCustomGridNode > AECCustomGridNodeSubPtr
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned int OdUInt32
OdUInt32 GetSegmentByIndex(OdUInt32 iIndex) const
void SetToIntersection(OdUInt32 iIndex1, OdUInt32 iIndex2, double dParam1, double dParam2)
void SetType(Type eType)
Type GetType() const
OdUInt32 GetSegmentCount() const
OdDoubleArray m_params
double GetParamByIndex(OdUInt32 iIndex) const
void SetToEnding(OdUInt32 iIndex)
OdUInt32Array m_segmentIds
OdUInt32 GetSingleSegment() const
void SetToIntersection(const OdUInt32Array &aIndices, const OdDoubleArray &aParams)
void SetToStarting(OdUInt32 iIndex)