QCAD
Open Source 2D CAD
 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-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 
40 
41 public:
42 
47  direction = new double[3];
48  setDirection(0.0, 0.0, 1.0);
49  setElevation(0.0);
50  }
51 
52 
57  delete[] direction ;
58  }
59 
60 
69  DL_Extrusion(double dx, double dy, double dz, double elevation) {
70  direction = new double[3];
71  setDirection(dx, dy, dz);
72  setElevation(elevation);
73  }
74 
75 
76 
80  void setDirection(double dx, double dy, double dz) {
81  direction[0]=dx;
82  direction[1]=dy;
83  direction[2]=dz;
84  }
85 
86 
87 
91  double* getDirection() const {
92  return direction;
93  }
94 
95 
96 
100  void getDirection(double dir[]) const {
101  dir[0]=direction[0];
102  dir[1]=direction[1];
103  dir[2]=direction[2];
104  }
105 
106 
107 
111  void setElevation(double elevation) {
112  this->elevation = elevation;
113  }
114 
115 
116 
120  double getElevation() const {
121  return elevation;
122  }
123 
124 
125 
129  DL_Extrusion operator = (const DL_Extrusion& extru) {
130  setDirection(extru.direction[0], extru.direction[1], extru.direction[2]);
131  setElevation(extru.elevation);
132 
133  return *this;
134  }
135 
136 
137 
138 private:
139  double *direction;
140  double elevation;
141 };
142 
143 #endif
144