00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __GEO_Point_H__
00021 #define __GEO_Point_H__
00022
00023 #include "GEO_API.h"
00024 #include <GA/GA_GBElement.h>
00025 #include <UT/UT_SmallObject.h>
00026 #include <UT/UT_Vector4.h>
00027
00028 class GA_Detail;
00029 class GEO_Primitive;
00030
00031 class GEO_API GEO_Point : public GA_GBPoint
00032 {
00033 public:
00034
00035
00036
00037 GEO_Point(const GA_IndexMap &index_map, GA_Offset offset)
00038 : GA_GBPoint(index_map, offset) {}
00039 ~GEO_Point() {}
00040
00041
00042
00043
00044
00045 const UT_Vector4 getPos() const { return GA_GBPoint::getPos3D(); }
00046
00047
00048
00049
00050 float getPw() const { return GA_GBPoint::getPw(); }
00051 void setPw(float w) { return GA_GBPoint::setPw(w); }
00052
00053
00054 void setPos(const UT_Vector4 &P) { GA_GBPoint::setPos3D(P); }
00055 void setPos(const UT_Vector3 &P, float w=1)
00056 { GA_GBPoint::setPos3D(P, w); }
00057 void setPos(float x, float y, float z)
00058 { GA_GBPoint::setPos3D(x,y,z,1); }
00059 void setPos(float x, float y, float z, float w)
00060 { GA_GBPoint::setPos3D(x,y,z,w); }
00061
00062
00063
00064
00065 const UT_Vector3 getPos3() const
00066 { return GA_GBPoint::getPos2D(); }
00067 void setPos3(const UT_Vector3 &P)
00068 { GA_GBPoint::setPos2D(P); }
00069
00070
00071 typedef GA_Detail DetailType;
00072
00073 };
00074
00075 #endif