libsurf
Programmer's Documentation

igesdirentry.h (r6227/r5385)
1 
2 /* Copyright (C) 2015 David Eller <david@larosterna.com>
3  *
4  * Commercial License Usage
5  * Licensees holding valid commercial licenses may use this file in accordance
6  * with the terms contained in their respective non-exclusive license agreement.
7  * For further information contact david@larosterna.com .
8  *
9  * GNU General Public License Usage
10  * Alternatively, this file may be used under the terms of the GNU General
11  * Public License version 3.0 as published by the Free Software Foundation and
12  * appearing in the file gpl.txt included in the packaging of this file.
13  */
14 
15 #ifndef SURF_IGESDIRENTRY_H
16 #define SURF_IGESDIRENTRY_H
17 
18 #include <cstring>
19 #include <string>
20 
32 {
33 public:
34 
36  IgesDirEntry() : strct(0), lpattern(0), level(1), view(0), trafm(0),
37  lbdisp(0), blank(0), subswitch(0), useflag(0),
38  hierarchy(1), lweight(0), color(0), plines(0), form(0),
39  esubscript(0) { memset(elabel, ' ', sizeof(elabel)); }
40 
42  bool valid() const {return (plines != 0);}
43 
45  void invalidate() {plines = 0;}
46 
48  std::string label() const {
49  std::string s;
50  s.assign(elabel, elabel+8);
51  return s;
52  }
53 
55  char elabel[8];
56 
58  int etype, pdata, strct, lpattern, level, view, trafm, lbdisp;
59  int blank, subswitch, useflag, hierarchy, lweight, color, plines;
60  int form, esubscript;
61 };
62 
63 #endif
Data in each directory entry of an IGES file.
Definition: igesdirentry.h:31
void invalidate()
make invalid
Definition: igesdirentry.h:45
bool valid() const
check if entry is defined at all
Definition: igesdirentry.h:42
int etype
integer directory entries
Definition: igesdirentry.h:58
IgesDirEntry()
create entry with defaulted values where possible
Definition: igesdirentry.h:36
char elabel[8]
entity label
Definition: igesdirentry.h:55
std::string label() const
return label as std::string
Definition: igesdirentry.h:48
Generated on Wed Jan 19 2022 03:03:15 for libsurf by   doxygen 1.8.5