00001 #if !defined(VGEOMETRY)
00002 #define VGEOMETRY
00003
00004 #if _MSC_VER > 1000
00005 #pragma once
00006 #endif // _MSC_VER > 1000
00007
00008 #include <vnl/vnl_matrix.h>
00009
00010 #include "Geometric.h"
00011
00012
00013
00014
00015 namespace mial{
00016
00017 template <class dType, int nDims,class MType = vnl_matrix<dType>, class VType = vnl_vector<dType> >
00018 class Geom_vGeometry : public Geometric<dType, nDims,MType,VType>
00019 {
00020 public:
00021 typedef MType MatrixType;
00022 typedef VType VectorType;
00023 private:
00024
00025 MatrixType nodes;
00026
00027 public:
00028
00029 Geom_vGeometry();
00030
00031
00032 virtual MatrixType getVectorNodePositions(){return nodes;};
00033
00034
00035
00036 virtual bool setNodePosition(int index,dType* pos);
00037
00038 virtual void getNodePosition(int index, dType *);
00039
00040
00041 virtual void writeNodesToFile(std::string fileName);
00042
00043
00044 virtual void readNodesFromFile(std::string fileName);
00045
00046
00047 virtual unsigned int numNodes(){ return (unsigned int)nodes.rows(); }
00048 };
00049 }
00050 #include "Geom_vGeometry.cxx"
00051 #endif