00001 #if defined (_MSC_VER) && (_MSC_VER >= 1000) 00002 #pragma once 00003 #endif 00004 #ifndef _INC_BEH_GROWING 00005 #define _INC_BEH_GROWING 00006 #include "Behavior.h" 00007 #include "Geom_VesselCrawler.h" 00008 #include "Phys_VesselCrawlerEuler.h" 00009 00010 namespace mial{ 00011 00013 00018 template<class Type,class CrawlerPhysType> 00019 class Beh_Growing 00020 : public Behavior<Type,3> 00021 { 00022 public: 00023 virtual bool run(typename Behavior<Type,3>::behaviorIn * i, std::stringstream * s = NULL); 00024 Beh_Growing(); 00025 00027 00030 struct behaviorIn: public Behavior::behaviorIn{ 00031 //Define all custom here 00032 //MatrixType nodesXYZ; 00033 VectorType newAxis; 00034 VectorType locXYZ; 00035 Type radius; 00036 //unsigned int numNodesPerLayer; 00037 //unsigned int nodeNum; 00038 Type growDistance; 00039 Geom_VesselCrawler<Type,3>* vesselGeom; 00040 behaviorIn(): newAxis(3),locXYZ(3){}; 00041 }; 00042 private: 00043 MatrixType growTo(behaviorIn* in); 00044 const int nDims; 00045 }; 00046 }//end mial 00047 #include "Beh_Growing.cxx" 00048 #endif