added template on corrdinate type (default Point3)

This commit is contained in:
ganovelli 2004-10-11 17:45:05 +00:00
parent 2945a6bc0f
commit f10b76771b
2 changed files with 30 additions and 2 deletions

View File

@ -23,6 +23,9 @@
/**************************************************************************** /****************************************************************************
History History
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.19 2004/09/28 15:24:56 fiorin
DUMMY classes definition moved into vcg namespace
Revision 1.18 2004/08/25 15:15:27 ganovelli Revision 1.18 2004/08/25 15:15:27 ganovelli
minor changes to comply gcc compiler (typename's and stuff) minor changes to comply gcc compiler (typename's and stuff)
@ -48,6 +51,9 @@ Revision 1.12 2004/05/10 13:31:13 ganovelli
function for edge adjacency added function for edge adjacency added
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.19 2004/09/28 15:24:56 fiorin
DUMMY classes definition moved into vcg namespace
Revision 1.18 2004/08/25 15:15:27 ganovelli Revision 1.18 2004/08/25 15:15:27 ganovelli
minor changes to comply gcc compiler (typename's and stuff) minor changes to comply gcc compiler (typename's and stuff)
@ -131,14 +137,14 @@ namespace vcg {
@param FLTYPE (Template Parameter) Specifies the scalar field of the vertex coordinate type. @param FLTYPE (Template Parameter) Specifies the scalar field of the vertex coordinate type.
@param VFTYPE (Template Parameter) Specifies the type for the face, needed only for VF adjacency. @param VFTYPE (Template Parameter) Specifies the type for the face, needed only for VF adjacency.
*/ */
template <class FLTYPE, class VETYPE = DUMMYEDGETYPE, class VFTYPE = DUMMYFACETYPE, class VTTYPE = DUMMYTETRATYPE,class TCTYPE = TCoord2<float,1> > class VERTEX_TYPE template <class FLTYPE, class VETYPE = DUMMYEDGETYPE, class VFTYPE = DUMMYFACETYPE, class VTTYPE = DUMMYTETRATYPE,class TCTYPE = TCoord2<float,1>, class CoordTYPE= Point3<FLTYPE> > class VERTEX_TYPE
{ {
public: public:
/// The scalar type used to represent coords (i.e. float, double, ...) /// The scalar type used to represent coords (i.e. float, double, ...)
typedef FLTYPE ScalarType; typedef FLTYPE ScalarType;
/// The coordinate type used to represent the point (i.e. Point3f, Point3d, ...) /// The coordinate type used to represent the point (i.e. Point3f, Point3d, ...)
typedef Point3<ScalarType> CoordType; typedef CoordTYPE CoordType;
typedef Point3<ScalarType> NormalType; typedef Point3<ScalarType> NormalType;
/// The type base of the vertex, useful for recovering the original typename after user subclassing /// The type base of the vertex, useful for recovering the original typename after user subclassing
typedef VERTEX_TYPE BaseVertexType; typedef VERTEX_TYPE BaseVertexType;

View File

@ -0,0 +1,22 @@
#ifndef __VCGLIB_VERTEX__BASE__TYPE
#define __VCGLIB_VERTEX__BASE__TYPE
#define VERTEX_TYPE Vertex
#include <vcg/simplex/vertex/base.h>
#undef VERTEX_TYPE
namespace vcg {
template < class VETYPE, class VFTYPE, class VTTYPE,class TCTYPE = TCoord2<float,1>, class CoordTYPE= Point3<float> >
class Vertexf : public Vertex<float,VETYPE,VFTYPE,VTTYPE, TCTYPE , CoordTYPE> {};
template < class VETYPE, class VFTYPE, class VTTYPE>
class Vertexd : public Vertex<double,VETYPE,VFTYPE,VTTYPE> {};
}
#endif