libsurf
Programmer's Documentation

Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
IgesEntity Class Referenceabstract

Detailed Description

Base class for entities in IGES files.

All IGES entity classes inherit from this base. Different geometric objects require different types and amounts of numerical data to represent it, and this base class provides facilities to dump those blocks of data into the IGES file in a standard-compliant manner.

See Also
IgesFile

#include <igesentity.h>

Inheritance diagram for IgesEntity:
[legend]
Collaboration diagram for IgesEntity:
[legend]

Public Types

enum  IgesEntityClass {
  NoClass = 0, PointClass = 1, LineClass = 2, CurveClass = 4,
  SurfaceClass = 8, StructureClass = 16, AnyClass = 31
}
 

Public Member Functions

 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
 
virtual void definition (IgesFile &file)=0
 this function must be overloaded by entities
 
virtual uint parse (const std::string &pds, const Indices &vpos)
 parse parameter data from string
 

Static Public Member Functions

static IgesEntitycreate (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 Protected Member Functions

static int asInt (const char *s, int k)
 convenience conversion function
 
static double asDouble (const char *s, int k)
 convenience conversion function
 

Protected Attributes

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
 

The documentation for this class was generated from the following files:
Generated on Mon Jan 24 2022 03:03:17 for libsurf by   doxygen 1.8.5