CFx SDK Documentation  2023 SP0
DbLSStrokePatternComponent.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 ODDGNLS_DBLSSTROKEPATTERNCOMPONENT_H
25 #define ODDGNLS_DBLSSTROKEPATTERNCOMPONENT_H
26 
27 #include "DbLSComponent.h"
28 #include "DbLSStroke.h"
29 
30 #include "TD_PackPush.h"
31 
39 {
40  public:
41  enum PhaseMode
42  {
43  kLSPhaseDistance = 0, // Distance phase mode
44  kLSPhaseFraction = 1, // Fraction phase mode (auto phase)
45  kLSPhaseCentered = 2 // Centered phase mode (stretch phase mode)
46  };
47  public:
49 
51 
58  double autoPhase() const;
64  void setAutoPhase(double fPhase);
65 
69  bool hasIterationLimit() const;
75  void setHasIterationLimit(bool bSet);
76 
88  OdDbLSStroke *insertStroke(double fLength = 1.0, double fStartWidth = 0.0, double fEndWidth = 0.0,
103  OdDbLSStroke *stroke(OdUInt32 nStroke) const;
104 
110  void deleteStroke(OdUInt32 nStroke);
111 
116 
120  bool isSingleSegment() const;
126  void setIsSingleSegment(bool bSet);
127 
138 
145  double phase() const;
151  void setPhase(double fPhase);
152 
163 };
164 
169 
170 #include "TD_PackPop.h"
171 
172 #endif // ODDGNLS_DBLSSTROKEPATTERNCOMPONENT_H
OdSmartPtr< OdDbLSStrokePatternComponent > OdDbLSStrokePatternComponentPtr
#define ODDGNLS_EXPORT
Definition: OdDgnLSExport.h:33
unsigned int OdUInt32
int OdInt32
OdUInt32 numberStrokes() const
void setAutoPhase(double fPhase)
void setIsSingleSegment(bool bSet)
OdDbLSStroke * insertStroke(double fLength=1.0, double fStartWidth=0.0, double fEndWidth=0.0, OdDbLSStroke::WidthMode widthMode=OdDbLSStroke::kLSNoWidth, OdDbLSStroke::CapMode capMode=OdDbLSStroke::kLSCapsClosed)
OdDbLSStroke * stroke(OdUInt32 nStroke) const
void setPhase(double fPhase)
void deleteStroke(OdUInt32 nStroke)
OdInt32 iterationLimit() const
void setIterationLimit(OdInt32 nLimit)
ODDB_DECLARE_MEMBERS(OdDbLSStrokePatternComponent)
void setPhaseMode(PhaseMode mode)
void setHasIterationLimit(bool bSet)
PhaseMode phaseMode() const
OdDbLSStroke * insertStroke(const OdDbLSStroke *pStroke)