00001 #if !defined(_GEOM_VesselCrawler)
00002 #define _GEOM_VesselCrawler
00003
00004 #include "Geom_MeshSpatialObject.h"
00005
00006 namespace mial{
00007
00009
00021 template < class dType, int nDims, class MType = vnl_matrix<dType>, class VType = vnl_vector<dType> >
00022 class Geom_VesselCrawler
00023 : public Geom_MeshSpatialObject<dType,nDims,MType,VType>
00024 {
00025
00026
00027
00028 public:
00029
00030 typedef MType MatrixType;
00031 typedef VType VectorType;
00032
00033 Geom_VesselCrawler(int numNPL = 32){numNodesPerLayer = numNPL;numLayers=0;};
00034
00035
00036
00037 public:
00038 virtual bool addConnection(int,int,int=-1,int=-1);
00039 virtual bool addLayer(MType nodes, VType classes );
00040 virtual int getNumNodesPerLayer(){return numNodesPerLayer;};
00041 virtual VectorType getActiveSprings(int c=-1);
00042 virtual VectorType getActiveNodes(int c=-1);
00043 private:
00044 virtual void updateMatrixConnections();
00045 int numNodesPerLayer;
00046 int numLayers;
00047
00049 VectorType connectionLayers;
00050
00051 };
00052 }
00053 #include "Geom_VesselCrawler.cxx"
00054 #endif