QCAD
Open Source 2D CAD
dl_extrusion.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2013 RibbonSoft, GmbH. All rights reserved.
3 **
4 ** This file is part of the dxflib project.
5 **
6 ** This file is free software; you can redistribute it and/or modify
7 ** it under the terms of the GNU General Public License as published by
8 ** the Free Software Foundation; either version 2 of the License, or
9 ** (at your option) any later version.
10 **
11 ** Licensees holding valid dxflib Professional Edition licenses may use
12 ** this file in accordance with the dxflib Commercial License
13 ** Agreement provided with the Software.
14 **
15 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17 **
18 ** See http://www.ribbonsoft.com for further details.
19 **
20 ** Contact info@ribbonsoft.com if any conditions of this licensing are
21 ** not clear to you.
22 **
23 **********************************************************************/
24 
25 #ifndef DL_EXTRUSION_H
26 #define DL_EXTRUSION_H
27 
28 #include "dl_global.h"
29 
30 #include <math.h>
31 
32 
39 
40 public:
41 
46  direction = new double[3];
47  setDirection(0.0, 0.0, 1.0);
48  setElevation(0.0);
49  }
50 
51 
56  delete[] direction ;
57  }
58 
59 
68  DL_Extrusion(double dx, double dy, double dz, double elevation) {
69  direction = new double[3];
70  setDirection(dx, dy, dz);
71  setElevation(elevation);
72  }
73 
74 
75 
79  void setDirection(double dx, double dy, double dz) {
80  direction[0]=dx;
81  direction[1]=dy;
82  direction[2]=dz;
83  }
84 
85 
86 
90  double* getDirection() const {
91  return direction;
92  }
93 
94 
95 
99  void getDirection(double dir[]) const {
100  dir[0]=direction[0];
101  dir[1]=direction[1];
102  dir[2]=direction[2];
103  }
104 
105 
106 
110  void setElevation(double elevation) {
111  this->elevation = elevation;
112  }
113 
114 
115 
119  double getElevation() const {
120  return elevation;
121  }
122 
123 
124 
128  DL_Extrusion operator = (const DL_Extrusion& extru) {
129  setDirection(extru.direction[0], extru.direction[1], extru.direction[2]);
130  setElevation(extru.elevation);
131 
132  return *this;
133  }
134 
135 
136 
137 private:
138  double *direction;
139  double elevation;
140 };
141 
142 #endif
143 
Extrusion direction.
Definition: dl_extrusion.h:38
void setElevation(double elevation)
Sets the elevation.
Definition: dl_extrusion.h:110
void getDirection(double dir[]) const
Definition: dl_extrusion.h:99
DL_Extrusion()
Default constructor.
Definition: dl_extrusion.h:45
#define DXFLIB_EXPORT
Definition: dl_global.h:12
DL_Extrusion(double dx, double dy, double dz, double elevation)
Constructor for DXF extrusion.
Definition: dl_extrusion.h:68
void setDirection(double dx, double dy, double dz)
Sets the direction vector.
Definition: dl_extrusion.h:79
double elevation
Definition: dl_extrusion.h:139
~DL_Extrusion()
Destructor.
Definition: dl_extrusion.h:55
double * direction
Definition: dl_extrusion.h:138
double * getDirection() const
Definition: dl_extrusion.h:90
double getElevation() const
Definition: dl_extrusion.h:119