Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | List of all members
itasca::IDXFData Class Referenceabstract

Handle geometric data generated by a IDXFReader. More...

#include <idxfdata.h>

Public Member Functions

virtual void setLayer (const QString &layername)=0
 Sets the layer name for all subsequent objects created.
 
virtual void setClosed ()=0
 
virtual void addPoint (const DVect3 &p)=0
 Adds a point object, at p.
 
virtual void addLine (const DVect3 &p1, const DVect3 &p2)=0
 Adds a line object, from p1 to p2.
 
virtual void startPolyline ()=0
 starts a polyline or a polyface mesh, clear vertex list
 
virtual void addPolylineVertex (const DVect3 &p)=0
 add a vertex to a polyline, polyface, or polygon mesh.
 
virtual void endPolyline ()=0
 Indicates the polyline, polyface, or polymesh is finished.
 
virtual void add3DFace (const DVect3 &p1, const DVect3 &p2, const DVect3 &p3)=0
 Adds a triangular face element. The arguments are the vertices of the polygon.
 
virtual void add3DFace (const DVect3 &p1, const DVect3 &p2, const DVect3 &p3, const DVect3 &p4)=0
 
virtual void startPolyFaceMesh ()=0
 
virtual void addPolyFace (int32_t n1, int32_t n2, int32_t n3, int32_t n4)=0
 
virtual void startPolygonMesh ()=0
 
virtual void setMeshClosedN ()=0
 Specifies that the mesh in the N-direction (first index) is closed.
 
virtual void setMeshClosedM ()=0
 Specifies that the mesh in the M-direction (second index) is closed.
 
virtual void setMeshN (int n)=0
 Specifies the number of indices in the N (first) direction.
 
virtual void setMeshM (int m)=0
 Specifies the number of indices in the M (first) direction.
 
virtual void startLWPolyline ()=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void setLWPolylineZ (const double &z)=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void addLWPolylineVertex (const double &x, const double &y)=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void endLWPolyline ()=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void writeParseWarning (int line, const QString &x)=0
 
virtual bool progress (int pos, int max=0)=0
 
virtual void setLayer (const QString &layername)=0
 Sets the layer name for all subsequent objects created.
 
virtual void setClosed ()=0
 
virtual void addPoint (const DVect3 &p)=0
 Adds a point object, at p.
 
virtual void addLine (const DVect3 &p1, const DVect3 &p2)=0
 Adds a line object, from p1 to p2.
 
virtual void addArc (const DVect3 &cent, double r, double a1, double a2)=0
 Add an arc, by center, radius, start and end angles.
 
virtual void startPolyline ()=0
 starts a polyline or a polyface mesh, clear vertex list
 
virtual void addPolylineVertex (const DVect3 &p)=0
 add a vertex to a polyline, polyface, or polygon mesh.
 
virtual void endPolyline ()=0
 Indicates the polyline, polyface, or polymesh is finished.
 
virtual void add3DFace (const DVect3 &p1, const DVect3 &p2, const DVect3 &p3)=0
 Adds a triangular face element. The arguments are the vertices of the polygon.
 
virtual void add3DFace (const DVect3 &p1, const DVect3 &p2, const DVect3 &p3, const DVect3 &p4)=0
 
virtual void startPolyFaceMesh ()=0
 
virtual void addPolyFace (int32_t n1, int32_t n2, int32_t n3, int32_t n4)=0
 
virtual void startPolygonMesh ()=0
 
virtual void setMeshClosedN ()=0
 Specifies that the mesh in the N-direction (first index) is closed.
 
virtual void setMeshClosedM ()=0
 Specifies that the mesh in the M-direction (second index) is closed.
 
virtual void setMeshN (int n)=0
 Specifies the number of indices in the N (first) direction.
 
virtual void setMeshM (int m)=0
 Specifies the number of indices in the M (first) direction.
 
virtual void startLWPolyline ()=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void setLWPolylineZ (const double &z)=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void addLWPolylineVertex (const double &x, const double &y)=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void endLWPolyline ()=0
 TOM - I have no idea what a LW Polyline is...
 
virtual void writeParseWarning (int line, const QString &x)=0
 
virtual bool updateProgress (quint64 pos, quint64 max=0)=0
 

Detailed Description

Handle geometric data generated by a IDXFReader.

By implementing this interface, you can pass it to an IDXFReader to interpret a DXF file and handle the geometric objects it represents.

Member Function Documentation

◆ add3DFace() [1/2]

virtual void itasca::IDXFData::add3DFace ( const DVect3 & p1,
const DVect3 & p2,
const DVect3 & p3,
const DVect3 & p4 )
pure virtual

Adds a quadrilateral face element. The arguments are the vertices of the polygon. The quadrilateral is assumed to be planar. (?)

◆ add3DFace() [2/2]

virtual void itasca::IDXFData::add3DFace ( const DVect3 & p1,
const DVect3 & p2,
const DVect3 & p3,
const DVect3 & p4 )
pure virtual

Adds a quadrilateral face element. The arguments are the vertices of the polygon. The quadrilateral is assumed to be planar. (?)

◆ addPolyFace() [1/2]

virtual void itasca::IDXFData::addPolyFace ( int32_t n1,
int32_t n2,
int32_t n3,
int32_t n4 )
pure virtual

Adds a triangular or quadrilateral polygon based on data previously read by addPolylineVertex(). The vertex indices are base 1, and a negative or 0 value for n4 indicates a triangular face. Also, n1, n2, and n3 may be negative, but should be interpreted as positive.

◆ addPolyFace() [2/2]

virtual void itasca::IDXFData::addPolyFace ( int32_t n1,
int32_t n2,
int32_t n3,
int32_t n4 )
pure virtual

Adds a triangular or quadrilateral polygon based on data previously read by addPolylineVertex(). The vertex indices are base 1, and a negative or 0 value for n4 indicates a triangular face. Also, n1, n2, and n3 may be negative, but should be interpreted as positive.

◆ progress()

virtual bool itasca::IDXFData::progress ( int pos,
int max = 0 )
pure virtual

This function is called repeated to indicate how much progress through the DXF file has been made. The value of max is only specified once, when pos = 0. Subsequently, max = 0 and pos indicates the position in the file.

◆ setClosed() [1/2]

virtual void itasca::IDXFData::setClosed ( )
pure virtual

Indicates that whatever multiple-vertex object is being processed should be closed. (i.e. the a point should be added that is the same as the first point).

◆ setClosed() [2/2]

virtual void itasca::IDXFData::setClosed ( )
pure virtual

Indicates that whatever multiple-vertex object is being processed should be closed. (i.e. the a point should be added that is the same as the first point).

◆ startPolyFaceMesh() [1/2]

virtual void itasca::IDXFData::startPolyFaceMesh ( )
pure virtual

Indicates that subsequent addPolylineVertex calls should store vertices for later use in addPolyFace calls. The endPolyline() call then indicates the end of a Poly Face instead of a polyLine. The addPolyFace() method may be called to use stored vertices to generate polyfaces, instead of building a single large face eith endPolyline().

◆ startPolyFaceMesh() [2/2]

virtual void itasca::IDXFData::startPolyFaceMesh ( )
pure virtual

Indicates that subsequent addPolylineVertex calls should store vertices for later use in addPolyFace calls. The endPolyline() call then indicates the end of a Poly Face instead of a polyLine. The addPolyFace() method may be called to use stored vertices to generate polyfaces, instead of building a single large face eith endPolyline().

◆ startPolygonMesh() [1/2]

virtual void itasca::IDXFData::startPolygonMesh ( )
pure virtual

Indicates that subsequent addPolylineVertex calls are generating a polymesh. TOM: How are vertex coordinates interpreted as a mesh (in what order)? TOM: Why don't we simplify this interface to just take polygon and line objects, whether they are generated from meshes or whatever?

◆ startPolygonMesh() [2/2]

virtual void itasca::IDXFData::startPolygonMesh ( )
pure virtual

Indicates that subsequent addPolylineVertex calls are generating a polymesh. TOM: How are vertex coordinates interpreted as a mesh (in what order)? TOM: Why don't we simplify this interface to just take polygon and line objects, whether they are generated from meshes or whatever?

◆ updateProgress()

virtual bool itasca::IDXFData::updateProgress ( quint64 pos,
quint64 max = 0 )
pure virtual

This function is called repeated to indicate how much progress through the DXF file has been made. The value of max is only specified once, when pos = 0. Subsequently, max = 0 and pos indicates the position in the file.

◆ writeParseWarning() [1/2]

virtual void itasca::IDXFData::writeParseWarning ( int line,
const QString & x )
pure virtual

This function will be called if there is a problem reading the DXF file. line indicates what line number of the file contained the problem, while x is an warning message.

◆ writeParseWarning() [2/2]

virtual void itasca::IDXFData::writeParseWarning ( int line,
const QString & x )
pure virtual

This function will be called if there is a problem reading the DXF file. line indicates what line number of the file contained the problem, while x is an warning message.


The documentation for this class was generated from the following files: