QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
dl_extrusion.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2001-2011 RibbonSoft. All rights reserved.
3 **
4 ** This file is part of the dxflib project.
5 **
6 ** This file may be distributed and/or modified under the terms of the
7 ** GNU General Public License version 2 as published by the Free Software
8 ** Foundation and appearing in the file LICENSE.GPL included in the
9 ** packaging of this file.
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 <math.h>
29 
30 
37 class DL_Extrusion {
38 
39 public:
40 
45  direction = new double[3];
46  setDirection(0.0, 0.0, 1.0);
47  setElevation(0.0);
48  }
49 
50 
55  delete[] direction ;
56  }
57 
58 
67  DL_Extrusion(double dx, double dy, double dz, double elevation) {
68  direction = new double[3];
69  setDirection(dx, dy, dz);
70  setElevation(elevation);
71  }
72 
73 
74 
78  void setDirection(double dx, double dy, double dz) {
79  direction[0]=dx;
80  direction[1]=dy;
81  direction[2]=dz;
82  }
83 
84 
85 
89  double* getDirection() const {
90  return direction;
91  }
92 
93 
94 
98  void getDirection(double dir[]) const {
99  dir[0]=direction[0];
100  dir[1]=direction[1];
101  dir[2]=direction[2];
102  }
103 
104 
105 
109  void setElevation(double elevation) {
110  this->elevation = elevation;
111  }
112 
113 
114 
118  double getElevation() const {
119  return elevation;
120  }
121 
122 
123 
128  setDirection(extru.direction[0], extru.direction[1], extru.direction[2]);
129  setElevation(extru.elevation);
130 
131  return *this;
132  }
133 
134 
135 
136 private:
137  double *direction;
138  double elevation;
139 };
140 
141 #endif
142