Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.6dev
      Class Index
      File List
   Version 1.0.6
   Version 1.0.5new_solver
   Version 1.0.5dev
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads
mydxfheader.hpp
Go to the documentation of this file.
1 
5 /* Copyright (c) 2010,2012 Taneli Kalvas. All rights reserved.
6  *
7  * You can redistribute this software and/or modify it under the terms
8  * of the GNU General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this library (file "COPYING" included in the package);
19  * if not, write to the Free Software Foundation, Inc., 51 Franklin
20  * Street, Fifth Floor, Boston, MA 02110-1301 USA
21  *
22  * If you have questions about your rights to use or distribute this
23  * software, please contact Berkeley Lab's Technology Transfer
24  * Department at TTD@lbl.gov. Other questions, comments and bug
25  * reports should be sent directly to the author via email at
26  * taneli.kalvas@jyu.fi.
27  *
28  * NOTICE. This software was developed under partial funding from the
29  * U.S. Department of Energy. As such, the U.S. Government has been
30  * granted for itself and others acting on its behalf a paid-up,
31  * nonexclusive, irrevocable, worldwide license in the Software to
32  * reproduce, prepare derivative works, and perform publicly and
33  * display publicly. Beginning five (5) years after the date
34  * permission to assert copyright is obtained from the U.S. Department
35  * of Energy, and subject to any subsequent five (5) year renewals,
36  * the U.S. Government is granted for itself and others acting on its
37  * behalf a paid-up, nonexclusive, irrevocable, worldwide license in
38  * the Software to reproduce, prepare derivative works, distribute
39  * copies to the public, perform publicly and display publicly, and to
40  * permit others to do so.
41  */
42 
43 #ifndef MY_DXF_HEADER_HPP
44 #define MY_DXF_HEADER_HPP 1
45 
46 
47 #include <stdint.h>
48 #include "vec3d.hpp"
49 #include "mydxffile.hpp"
50 
51 
59 {
60 
61 
62 
63 public:
64 
65  std::string acadver; /* 1 */
66  double angbase; /* 50 */
67  int16_t angdir; /* 70 */
68 
69 
70  std::string handseed; /* 5 */
71  double dimasz; /* 40 */
72  double dimgap; /* 40 */
73  double dimexo; /* 40 */
74  double dimexe; /* 40 */
75  double dimtxt; /* 40 */
76  int16_t insunits; /* 70 */
77  Vec3D plimmax; /* 10, 20 */
78  Vec3D plimmin; /* 10, 20 */
79 
80 
81  int16_t orthomode; /* 70, on if nonzero */
82 
83 
84  std::string pucsbase; /* 2, Name of the UCS that defines the origin and orientation
85  * of orthographic UCS settings (paper space only) */
86  std::string pucsname; /* 2, Current paper space UCS name */
87  Vec3D pucsorg; /* 10, 20, 30, Current paper space UCS origin */
88  Vec3D pucsorgback; /* 10, 20, 30, Point which becomes the new UCS origin after changing
89  * paper space UCS to BACK when PUCSBASE is set to WORLD */
90  Vec3D pucsorgbottom; /* 10, 20, 30, Point which becomes the new UCS origin after changing
91  * paper space UCS to BOTTOM when PUCSBASE is set to WORLD */
92  Vec3D pucsorgfront; /* 10, 20, 30, Point which becomes the new UCS origin after changing
93  * paper space UCS to FRONT when PUCSBASE is set to WORLD */
94  Vec3D pucsorgleft; /* 10, 20, 30, Point which becomes the new UCS origin after changing
95  * paper space UCS to LEFT when PUCSBASE is set to WORLD */
96  Vec3D pucsorgright; /* 10, 20, 30, Point which becomes the new UCS origin after changing
97  * paper space UCS to RIGHT when PUCSBASE is set to WORLD */
98  Vec3D pucsorgtop; /* 10, 20, 30, Point which becomes the new UCS origin after changing
99  * paper space UCS to TOP when PUCSBASE is set to WORLD */
100  std::string pucsorthoref; /* 2, If paper space UCS is orthographic (PUCSORTHOVIEW not
101  * equal to 0), this is the name of the UCS that the orthographic
102  * UCS is relative to. If blank, UCS is relative to WORLD */
103  int16_t pucsorthoview; /* 70, Orthographic view type of paper space UCS:
104  * 0 = UCS is not orthographic;
105  * 1 = Top; 2 = Bottom;
106  * 3 = Front; 4 = Back;
107  * 5 = Left; 6 = Right */
108  Vec3D pucsxdir; /* 10, 20, 30, Current paper space UCS X axis */
109  Vec3D pucsydir; /* 10, 20, 30, Current paper space UCS Y axis */
110 
111 
112  std::string ucsbase; /* 2, Name of the UCS that defines the origin and orientation
113  * of orthographic UCS settings */
114  std::string ucsname; /* 2, Name of current UCS */
115  Vec3D ucsorg; /* 10, 20, 30, Origin of current UCS (in WCS) */
116  Vec3D ucsorgback; /* 10, 20, 30, Point which becomes the new UCS origin after changing
117  * model space UCS to BACK when UCSBASE is set to WORLD */
118  Vec3D ucsorgbottom; /* 10, 20, 30, Point which becomes the new UCS origin after changing
119  * model space UCS to BOTTOM when UCSBASE is set to WORLD */
120  Vec3D ucsorgfront; /* 10, 20, 30, Point which becomes the new UCS origin after changing
121  * model space UCS to FRONT when UCSBASE is set to WORLD */
122  Vec3D ucsorgleft; /* 10, 20, 30, Point which becomes the new UCS origin after changing
123  * model space UCS to LEFT when UCSBASE is set to WORLD */
124  Vec3D ucsorgright; /* 10, 20, 30, Point which becomes the new UCS origin after changing
125  * model space UCS to RIGHT when UCSBASE is set to WORLD */
126  Vec3D ucsorgtop; /* 10, 20, 30, Point which becomes the new UCS origin after changing
127  * model space UCS to TOP when UCSBASE is set to WORLD */
128  std::string ucsorthoref; /* 2, If model space UCS is orthographic (UCSORTHOVIEW not
129  * equal to 0), this is the name of the UCS that the orthographic
130  * UCS is relative to. If blank, UCS is relative to WORLD */
131  int16_t ucsorthoview; /* 70, Orthographic view type of model space UCS:
132  * 0 = UCS is not orthographic;
133  * 1 = Top; 2 = Bottom;
134  * 3 = Front; 4 = Back;
135  * 5 = Left; 6 = Right */
136  Vec3D ucsxdir; /* 10, 20, 30, Direction of the current UCS X axis (in WCS) */
137  Vec3D ucsydir; /* 10, 20, 30, Direction of the current UCS Y axis (in WCS) */
138 
139 
140  int16_t worldview; /* 70, 1 = Set UCS to WCS during DVIEW/VPOINT
141  * 0 = Don't change UCS */
142 
143  MyDXFHeader( class MyDXFFile *dxf );
144  ~MyDXFHeader();
145 
148  void write( class MyDXFFile *dxf, std::ofstream &_ostr );
149 
152  void debug_print( std::ostream &os ) const;
153 };
154 
155 
156 
157 
158 
159 #endif
160 
161 
162 
DXF file class.
Definition: mydxffile.hpp:70
DXF header class.
Definition: mydxfheader.hpp:59
void write(class MyDXFFile *dxf, std::ofstream &_ostr)
Write dxf file to stream.
Definition: mydxfheader.cpp:279
void debug_print(std::ostream &os) const
Print debugging information to os.
Definition: mydxfheader.cpp:447
Three dimensional vector.
Definition: vec3d.hpp:58
DXF File.
Three dimensional vectors.


Reference manual for Ion Beam Simulator 1.0.6dev
Generated by Doxygen 1.9.1 on Thu Sep 11 2025 09:37:24.