00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
#ifndef DIME_LINE_H
00031
#define DIME_LINE_H
00032
00033
#include <dime/Basic.h>
00034
#include <dime/entities/ExtrusionEntity.h>
00035
#include <dime/util/Linear.h>
00036
00037 class DIME_DLL_API dimeLine :
public dimeExtrusionEntity
00038 {
00039
public:
00040 dimeLine();
00041
00042
const dimeVec3f &getCoords(
const int idx)
const;
00043
void setCoords(
const int idx,
const dimeVec3f &v);
00044
00045
virtual dimeEntity *copy(
dimeModel *
const model)
const;
00046
virtual bool getRecord(
const int groupcode,
00047
dimeParam ¶m,
00048
const int index = 0)
const;
00049
virtual const char *
getEntityName()
const;
00050
virtual void print()
const;
00051
virtual bool write(
dimeOutput *
const out);
00052
virtual int typeId()
const;
00053
virtual int countRecords()
const;
00054
00055
virtual GeometryType extractGeometry(dimeArray <dimeVec3f> &verts,
00056 dimeArray <int> &indices,
00057
dimeVec3f &extrusionDir,
00058 dxfdouble &thickness);
00059
00060
protected:
00061
virtual bool handleRecord(
const int groupcode,
00062
const dimeParam ¶m,
00063
dimeMemHandler *
const memhandler);
00064
00065
private:
00066
dimeVec3f coords[2];
00067
00068 };
00069
00070
inline const dimeVec3f &
00071 dimeLine::getCoords(
const int idx)
const
00072
{
00073 assert(idx ==0 || idx == 1);
00074
return this->coords[idx];
00075 }
00076
00077
inline void
00078 dimeLine::setCoords(
const int idx,
const dimeVec3f &v)
00079 {
00080 assert(idx ==0 || idx == 1);
00081 this->coords[idx] = v;
00082 }
00083
00084
#endif // ! DIME_LINE_H
00085