00001
00002
00003 #ifndef __POINT_MESH_H
00004 #define __POINT_MESH_H
00005
00006 #include <esg/mesh/Mesh.h>
00007
00008 namespace esg {
00009
00014 class PointMesh : public Mesh {
00015 public:
00021 PointMesh(const Vector3 location) {
00022 Edge *E;
00023 Plane *F = MF(1.0f, 0.0f, 0.0f, 0.0f);
00024 Vert *V1 = MV(location.x, location.y, location.z);
00025 V1->normal.set(1.0f, 0.0f, 0.0f);
00026 pSolid = MVSF(F,V1);
00027 MEV(pSolid, V1, V1, &E, F);
00028 MEF(pSolid, V1, V1, F, F, &E);
00029
00030 #if 0
00031 Vert *V1, *V2, *V;
00032 Plane *F;
00033 Edge *E;
00034
00035 F = MF(0.0f, 0.0f, 1.0f, 0.0f);
00036 V1 = MV(location.x-0.01, location.y-0.01, location.z);
00037 pSolid = MVSF(F,V1);
00038 V = V1;
00039 V2 = MV(location.x-0.01, location.y+0.01, location.z);
00040 MEV(pSolid, V1, V2, &E, F);
00041 V1 = V2;
00042 V2 = MV(location.x+0.01, location.y+0.01, location.z);
00043 MEV(pSolid, V1, V2, &E, F);
00044 V1 = V2;
00045 V2 = MV(location.x-0.01, location.y-0.01, location.z);
00046 MEV(pSolid, V1, V2, &E, F);
00047 V1 = V2;
00048 MEF(pSolid, V1, V, F, F, &E);
00049 #endif
00050
00051 #if 0
00052 Edge *E;
00053 Plane *F = MF(1.0f, 0.0f, 0.0f, 0.0f);
00054 Vert *V1 = MV(location.x, location.y, location.z);
00055 Vert *V2 = MV(location.x, location.y, location.z);
00056 V1->normal.set(1.0f, 0.0f, 0.0f);
00057 V2->normal.set(1.0f, 0.0f, 0.0f);
00058 pSolid = MVSF(F,V1);
00059 MEV(pSolid, V1, V2, &E, F);
00060 MEF(pSolid, V2, V1, F, F, &E);
00061 #endif
00062 }
00063 };
00064
00065 };
00066
00067 #endif // __POINT_MESH_H