libsurf
Programmer's Documentation
IGES 108 : Plane.
Spec : IGES 5.3 page 87
The plane entity can be used to represent an unbounded plane, as well as a bounded portion of a plane. In either of the above cases, the plane is defined within definition space by means of the coefficients A, B, C, D, where at least one of A, B, and C is nonzero and A·XT + B·YT + C·ZT = D for each point lying in the plane, and having definition space coordinates (XT, YT, ZT). The definition space coordinates of a point, as well as a size parameter, can be specified in order to assist in defining a system-dependent display symbol. These values are parameter data entries six through nine, respectively. This information, together with the four coefficients defining the plane, provides sufficient information relative to definition space in order to be able to position the display symbol. (In the unbounded plane example of Figure 23, the curves and the crosshair together constitute the display symbol.) Defaulting, or setting the size parameter to zero, indicates that a display symbol is not intended. The case of a bounded portion of a fixed plane requires the existence of a pointer to a simple closed curve lying in the plane. This is parameter five. The only allowed coincident points for this curve are the start point and the terminate point. The case of an unbounded plane requires this pointer to be zero.
#include <iges108.h>
Public Member Functions | |
IgesPlane () | |
create plane entity | |
void | definition (IgesFile &file) |
assemble definition | |
uint | parse (const std::string &pds, const Indices &vpos) |
parse entity data | |
![]() | |
IgesEntity (int ety) | |
create entity type etype | |
virtual | ~IgesEntity () |
destroy | |
int | etype () const |
entity type | |
int | classOf () const |
entity class identifier | |
void | form (int f) |
access the form field of the directory entry | |
void | blank (int b) |
access status field: blank (0/1) | |
void | subswitch (int b) |
access status field: subordinate switch (0-3) | |
void | useflag (int b) |
access status field: use flag (0-6) | |
void | hierarchy (int b) |
access status field: hierachy flag (0-2) | |
void | trafoMatrix (int tfi) |
access transformation matrix field | |
int | trafoMatrix () |
access transformation matrix field | |
void | label (const char *s) |
set entity label (use only 8 characters) | |
std::string | label () const |
return label, if present | |
void | subscript (int s) |
set entity subscript | |
void | addNoteRef (int ide) |
add reference to assoc/note DE | |
void | addPropRef (int ide) |
add reference to property/attribute table DE | |
uint | pindex () const |
parameter data index | |
uint | nNoteRef () const |
number of notes | |
uint | nPropRef () const |
number of property references | |
int | noteRef (uint k) const |
access note reference k | |
int | propRef (uint k) const |
access property reference k | |
int | append (IgesFile &igfile) |
append entity to file | |
bool | retrieve (const IgesFile &igfile) |
retrieve entity from file | |
Public Attributes | |
Vct3 | normal |
plane normal | |
Real | distance |
distance from origin | |
Vct3 | marker |
location of display marker | |
Real | markerSize |
size of marker | |
uint | ideBoundary |
DE of bounding curve, or 0 if unbounded. | |
Additional Inherited Members | |
![]() | |
enum | IgesEntityClass { NoClass = 0, PointClass = 1, LineClass = 2, CurveClass = 4, SurfaceClass = 8, StructureClass = 16, AnyClass = 31 } |
![]() | |
static IgesEntity * | create (const IgesDirEntry &e) |
generate a new entity from code, return zero if not implemented | |
template<class EType > | |
static bool | as (const IgesEntityPtr &ep, EType &t) |
convenience function | |
static int | classOf (int etype) |
identity class of entity number | |
![]() | |
static int | asInt (const char *s, int k) |
convenience conversion function | |
static double | asDouble (const char *s, int k) |
convenience conversion function | |
![]() | |
IgesDirEntry | entry |
directory entry | |
int | plcpre |
line counts in parameter section | |
int | plcpost |
std::vector< int > | addprop1 |
additional properties (two groups) | |
std::vector< int > | addprop2 |