33#ifndef DIME_FACEENTITY_H
34#define DIME_FACEENTITY_H
36#include <dime/Basic.h>
37#include <dime/entities/Entity.h>
38#include <dime/util/Linear.h>
45 virtual bool getRecord(
const int groupcode,
47 const int index = 0)
const;
49 void setVertex(
const int idx,
const dimeVec3f &v);
62 dimeArray <int> &indices,
64 dxfdouble &thickness);
66 virtual int typeId()
const;
67 virtual bool isOfType(
const int thetypeid)
const;
77 void copyCoords(
const dimeFaceEntity *
const entity);
88 assert(idx >= 0 && idx < 4);
89 return this->coords[idx];
93dimeFaceEntity::isQuad()
const
95 return (coords[2] != coords[3]);
99dimeFaceEntity::setVertex(
const int idx,
const dimeVec3f &v)
101 assert(idx >= 0 && idx < 4);
102 this->coords[idx] = v;
virtual int typeId() const =0
virtual bool getRecord(const int groupcode, dimeParam ¶m, const int index=0) const
Definition Entity.cpp:715
dimeEntity()
Definition Entity.cpp:181
virtual bool isOfType(const int thetypeid) const
Definition Entity.cpp:598
virtual int countRecords() const
Definition Entity.cpp:526
virtual bool handleRecord(const int groupcode, const dimeParam ¶m, dimeMemHandler *const memhandler)
Definition Entity.cpp:659
virtual GeometryType extractGeometry(dimeArray< dimeVec3f > &verts, dimeArray< int > &indices, dimeVec3f &extrusionDir, dxfdouble &thickness)
Definition Entity.cpp:583
void setQuad(const dimeVec3f &v0, const dimeVec3f &v1, const dimeVec3f &v2, const dimeVec3f &v3)
Definition FaceEntity.cpp:65
bool writeCoords(dimeOutput *const file)
Definition FaceEntity.cpp:137
virtual bool swapQuadCoords() const
Definition FaceEntity.cpp:261
void setTriangle(const dimeVec3f &v0, const dimeVec3f &v1, const dimeVec3f &v2)
Definition FaceEntity.cpp:52
void getVertices(dimeVec3f &v0, dimeVec3f &v1, dimeVec3f &v2, dimeVec3f &v3) const
Definition FaceEntity.cpp:84
virtual void getExtrusionDir(dimeVec3f &ed) const
Definition FaceEntity.cpp:249
virtual dxfdouble getThickness() const
Definition FaceEntity.cpp:238
void copyCoords(const dimeFaceEntity *const entity)
Definition FaceEntity.cpp:98
const dimeVec3f & getVertex(const int idx) const
Definition FaceEntity.h:86
The dimeMemHandler class is a special-purpose memory manager.
Definition MemHandler.h:39
The dimeOutput class handles writing of DXF and DXB files.
Definition Output.h:42
The dimeVec3f class is for containing and operating on a 3D vector / coordinate.
Definition Linear.h:62
The dimeParam class is a union of the different parameter types.
Definition Basic.h:102