CFx SDK Documentation  2023 SP0
GiPlotGenerator.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 
25 #ifndef __OD_GI_PLOTGENERATOR__
26 #define __OD_GI_PLOTGENERATOR__
27 
28 #include "Gi/GiConveyorNode.h"
29 
30 #include "TD_PackPush.h"
31 #include "Ps/PlotStyles.h"
32 #include "Gs/GsExport.h"
33 
40 {
41 public:
43 
47  virtual void setDeviation(const OdGeDoubleArray& deviations) = 0;
48 
52  virtual void setDeviation(const OdGiDeviation* pDeviation) = 0;
53 
58  virtual void setDrawContext(OdGiConveyorContext* pDrawContext) = 0;
59 
64  virtual void enable(bool bEnable) = 0;
65 
69  virtual bool enabled() const = 0;
70 
75  virtual void dot_per_inch(double dpi) = 0;
79  virtual double dot_per_inch() const = 0;
80 
85  void dot_per_mm(double dpmm);
89  double dot_per_mm() const;
90 
95  virtual void setPlotStyle(const OdPsPlotStyleData& psd) = 0;
96 
101  {
102  public:
114  virtual bool plotGeneratorPolylineOut(const OdGePoint3d *pPoints, OdUInt32 nPoints,
115  OdPs::LineEndStyle capStyle, OdPs::LineJoinStyle joinStyle, double fLwd) = 0;
116  };
121  virtual void setExternalPolylineOut(PolylineOut *pPolylineOut) = 0;
128  virtual PolylineOut *externalPolylineOut() const = 0;
129 
131  {
132  public:
133  virtual bool plotGeneratorEllipseOut(const OdGeEllipArc3d& arc, double width) = 0;
134  };
135  virtual void setExternalEllipseOut(EllipseOut *pEllipseOut) = 0;
136  virtual EllipseOut *externalEllipseOut() const = 0;
137 };
138 
139 inline void
141 {
142  dot_per_inch(dpmm * 25.4);
143 }
144 
145 inline double
147 {
148  return dot_per_inch() / 25.4;
149 }
150 
155 
156 #include "TD_PackPop.h"
157 
158 #endif //#ifndef __OD_GI_PLOTGENERATOR__
#define ODGI_EXPORT
Definition: GiExport.h:35
OdSmartPtr< OdGiPlotGenerator > OdGiPlotGeneratorPtr
unsigned int OdUInt32
virtual bool plotGeneratorEllipseOut(const OdGeEllipArc3d &arc, double width)=0
virtual bool plotGeneratorPolylineOut(const OdGePoint3d *pPoints, OdUInt32 nPoints, OdPs::LineEndStyle capStyle, OdPs::LineJoinStyle joinStyle, double fLwd)=0
ODRX_DECLARE_MEMBERS(OdGiPlotGenerator)
virtual void setDeviation(const OdGeDoubleArray &deviations)=0
virtual void setPlotStyle(const OdPsPlotStyleData &psd)=0
virtual void setDrawContext(OdGiConveyorContext *pDrawContext)=0
virtual void dot_per_inch(double dpi)=0
virtual EllipseOut * externalEllipseOut() const =0
virtual PolylineOut * externalPolylineOut() const =0
virtual bool enabled() const =0
virtual void enable(bool bEnable)=0
virtual void setDeviation(const OdGiDeviation *pDeviation)=0
virtual void setExternalEllipseOut(EllipseOut *pEllipseOut)=0
virtual double dot_per_inch() const =0
virtual void setExternalPolylineOut(PolylineOut *pPolylineOut)=0
double dot_per_mm() const
GLint GLenum GLsizei width
Definition: gles2_ext.h:110
LineJoinStyle
Definition: PlotStyles.h:78
LineEndStyle
Definition: PlotStyles.h:69