CFx SDK Documentation  2023 SP0
AECDbLayoutCurve.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 __AECDBLAYOUTCURVE_H__
25 #define __AECDBLAYOUTCURVE_H__
26 
29 
30 class AECDbLayoutCurve;
32 
39 class AECBASE_API AECDbLayoutCurve : public AECDbLayoutTool
40 {
42 
44 
45  public:
50 
54  void SetCurve( const OdDbObjectId& idCurve );
55 
60 
65 
72  double GetStartOffset() const;
73 
82  void SetStartOffset( double dOffset );
83 
90  double GetEndOffset() const;
91 
100  void SetEndOffset( double dOffset );
101 
108  double GetSpacing() const;
109 
118  void SetSpacing( double dSpacing );
119 
125 
132 
141  void SetNodeCount( OdUInt32 iCount );
142 
150 
155 
160  void GetLocations( std::vector<double>& aLocations ) const;
161 
162  public:
166  virtual OdUInt32 GetLayoutNodeCount() const;
167 
171  virtual OdUInt32 GetLayoutNodeIndex( OdUInt32 iPos ) const;
172 
177 
178  public:
186  const OdDbObjectId& idCurve );
187 };
188 
189 #endif // __AECDBLAYOUTCURVE_H__
OdSmartPtr< AECDbLayoutCurve > AECDbLayoutCurvePtr
#define CURVE_DECLARE_MEMBERS()
Definition: AECMacros.h:34
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned int OdUInt32
OdUInt32 GetNextNodeIndexInc()
OdDbObjectId GetCurve() const
void SetSpacingType(AECDefs::SpacingType eType)
double GetStartOffset() const
void SetCurve(const OdDbObjectId &idCurve)
virtual OdUInt32 GetLayoutNodeCount() const
OdUInt32 GetNextNodeIndex() const
virtual OdGeMatrix3d GetLayoutNodeTransform(OdUInt32 iPos) const
void SetEndOffset(double dOffset)
void SetNodeCount(OdUInt32 iCount)
void SetStartOffset(double dOffset)
void GetLocations(std::vector< double > &aLocations) const
static AECDbLayoutCurvePtr CreateAECObject(const OdDbObjectId &idBlock, const OdDbObjectId &idCurve)
virtual OdUInt32 GetLayoutNodeIndex(OdUInt32 iPos) const
AECLayoutCurveNodeSubPtr GetNodeByIndex(OdUInt32 iIndex) const
AECDefs::SpacingType GetSpacingType() const
void SetSpacing(double dSpacing)
AECImpArraySubPtr GetNodes() const
double GetSpacing() const
double GetEndOffset() const