Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.5new_solver
   Version 1.0.5dev
      Class Index
      File List
   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.
00001 
00005 /* Copyright (c) 2010,2012 Taneli Kalvas. All rights reserved.
00006  *
00007  * You can redistribute this software and/or modify it under the terms
00008  * of the GNU General Public License as published by the Free Software
00009  * Foundation; either version 2 of the License, or (at your option)
00010  * any later version.
00011  * 
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00015  * General Public License for more details.
00016  * 
00017  * You should have received a copy of the GNU General Public License
00018  * along with this library (file "COPYING" included in the package);
00019  * if not, write to the Free Software Foundation, Inc., 51 Franklin
00020  * Street, Fifth Floor, Boston, MA 02110-1301 USA
00021  * 
00022  * If you have questions about your rights to use or distribute this
00023  * software, please contact Berkeley Lab's Technology Transfer
00024  * Department at TTD@lbl.gov. Other questions, comments and bug
00025  * reports should be sent directly to the author via email at
00026  * taneli.kalvas@jyu.fi.
00027  * 
00028  * NOTICE. This software was developed under partial funding from the
00029  * U.S.  Department of Energy.  As such, the U.S. Government has been
00030  * granted for itself and others acting on its behalf a paid-up,
00031  * nonexclusive, irrevocable, worldwide license in the Software to
00032  * reproduce, prepare derivative works, and perform publicly and
00033  * display publicly.  Beginning five (5) years after the date
00034  * permission to assert copyright is obtained from the U.S. Department
00035  * of Energy, and subject to any subsequent five (5) year renewals,
00036  * the U.S. Government is granted for itself and others acting on its
00037  * behalf a paid-up, nonexclusive, irrevocable, worldwide license in
00038  * the Software to reproduce, prepare derivative works, distribute
00039  * copies to the public, perform publicly and display publicly, and to
00040  * permit others to do so.
00041  */
00042 
00043 #ifndef MY_DXF_HEADER_HPP
00044 #define MY_DXF_HEADER_HPP 1
00045 
00046 
00047 #include <stdint.h>
00048 #include "vec3d.hpp"
00049 #include "mydxffile.hpp"
00050 
00051 
00058 class MyDXFHeader
00059 {
00060 
00061 
00062 
00063 public:
00064 
00065     std::string acadver;         /* 1 */
00066     double      angbase;         /* 50 */
00067     int16_t     angdir;          /* 70 */
00068 
00069     
00070     std::string handseed;        /* 5 */
00071     double      dimasz;          /* 40 */
00072     double      dimgap;          /* 40 */
00073     double      dimexo;          /* 40 */
00074     double      dimexe;          /* 40 */
00075     double      dimtxt;          /* 40 */
00076     int16_t     insunits;        /* 70 */
00077     Vec3D       plimmax;         /* 10, 20 */
00078     Vec3D       plimmin;         /* 10, 20 */
00079 
00080 
00081     int16_t     orthomode;       /* 70, on if nonzero */
00082 
00083 
00084     std::string pucsbase;        /* 2, Name of the UCS that defines the origin and orientation
00085                                   * of orthographic UCS settings (paper space only) */
00086     std::string pucsname;        /* 2, Current paper space UCS name */
00087     Vec3D       pucsorg;         /* 10, 20, 30, Current paper space UCS origin */
00088     Vec3D       pucsorgback;     /* 10, 20, 30, Point which becomes the new UCS origin after changing
00089                                   * paper space UCS to BACK when PUCSBASE is set to WORLD */
00090     Vec3D       pucsorgbottom;   /* 10, 20, 30, Point which becomes the new UCS origin after changing
00091                                   * paper space UCS to BOTTOM when PUCSBASE is set to WORLD */
00092     Vec3D       pucsorgfront;    /* 10, 20, 30, Point which becomes the new UCS origin after changing
00093                                   * paper space UCS to FRONT when PUCSBASE is set to WORLD */
00094     Vec3D       pucsorgleft;     /* 10, 20, 30, Point which becomes the new UCS origin after changing
00095                                   * paper space UCS to LEFT when PUCSBASE is set to WORLD */
00096     Vec3D       pucsorgright;    /* 10, 20, 30, Point which becomes the new UCS origin after changing
00097                                   * paper space UCS to RIGHT when PUCSBASE is set to WORLD */
00098     Vec3D       pucsorgtop;      /* 10, 20, 30, Point which becomes the new UCS origin after changing
00099                                   * paper space UCS to TOP when PUCSBASE is set to WORLD */
00100     std::string pucsorthoref;    /* 2, If paper space UCS is orthographic (PUCSORTHOVIEW not
00101                                   * equal to 0), this is the name of the UCS that the orthographic
00102                                   * UCS is relative to. If blank, UCS is relative to WORLD */
00103     int16_t     pucsorthoview;   /* 70, Orthographic view type of paper space UCS:
00104                                   * 0 = UCS is not orthographic;
00105                                   * 1 = Top; 2 = Bottom;
00106                                   * 3 = Front; 4 = Back;
00107                                   * 5 = Left; 6 = Right */
00108     Vec3D       pucsxdir;        /* 10, 20, 30, Current paper space UCS X axis */
00109     Vec3D       pucsydir;        /* 10, 20, 30, Current paper space UCS Y axis */
00110 
00111 
00112     std::string ucsbase;         /* 2, Name of the UCS that defines the origin and orientation
00113                                   * of orthographic UCS settings */
00114     std::string ucsname;         /* 2, Name of current UCS */
00115     Vec3D       ucsorg;          /* 10, 20, 30, Origin of current UCS (in WCS) */
00116     Vec3D       ucsorgback;      /* 10, 20, 30, Point which becomes the new UCS origin after changing
00117                                   * model space UCS to BACK when UCSBASE is set to WORLD */
00118     Vec3D       ucsorgbottom;    /* 10, 20, 30, Point which becomes the new UCS origin after changing
00119                                   * model space UCS to BOTTOM when UCSBASE is set to WORLD */
00120     Vec3D       ucsorgfront;     /* 10, 20, 30, Point which becomes the new UCS origin after changing
00121                                   * model space UCS to FRONT when UCSBASE is set to WORLD */
00122     Vec3D       ucsorgleft;      /* 10, 20, 30, Point which becomes the new UCS origin after changing
00123                                   * model space UCS to LEFT when UCSBASE is set to WORLD */
00124     Vec3D       ucsorgright;     /* 10, 20, 30, Point which becomes the new UCS origin after changing
00125                                   * model space UCS to RIGHT when UCSBASE is set to WORLD */
00126     Vec3D       ucsorgtop;       /* 10, 20, 30, Point which becomes the new UCS origin after changing
00127                                   * model space UCS to TOP when UCSBASE is set to WORLD */
00128     std::string ucsorthoref;     /* 2, If model space UCS is orthographic (UCSORTHOVIEW not
00129                                   * equal to 0), this is the name of the UCS that the orthographic
00130                                   * UCS is relative to. If blank, UCS is relative to WORLD */
00131     int16_t     ucsorthoview;    /* 70, Orthographic view type of model space UCS:
00132                                   * 0 = UCS is not orthographic;
00133                                   * 1 = Top; 2 = Bottom;
00134                                   * 3 = Front; 4 = Back;
00135                                   * 5 = Left; 6 = Right */
00136     Vec3D       ucsxdir;         /* 10, 20, 30, Direction of the current UCS X axis (in WCS) */
00137     Vec3D       ucsydir;         /* 10, 20, 30, Direction of the current UCS Y axis (in WCS) */
00138 
00139 
00140     int16_t     worldview;       /* 70, 1 = Set UCS to WCS during DVIEW/VPOINT
00141                                   * 0 = Don't change UCS */
00142 
00143     MyDXFHeader( class MyDXFFile *dxf );
00144     ~MyDXFHeader();
00145 
00148     void write( class MyDXFFile *dxf, std::ofstream &_ostr );
00149 
00152     void debug_print( std::ostream &os ) const;
00153 };
00154 
00155 
00156 
00157 
00158 
00159 #endif
00160 
00161 
00162 


Reference manual for Ion Beam Simulator 1.0.5dev
Generated by Doxygen 1.7.1 on Mon Feb 6 2012 15:07:16.