00001 /********************************************************************** 00002 ** This program is part of 'MOOSE', the 00003 ** Messaging Object Oriented Simulation Environment. 00004 ** Copyright (C) 2003-2015 Upinder S. Bhalla. and NCBS 00005 ** It is made available under the terms of the 00006 ** GNU Lesser General Public License version 2.1 00007 ** See the file COPYING.LIB for the full notice. 00008 **********************************************************************/ 00009 00010 #ifndef _SPINE_H 00011 #define _SPINE_H 00012 00013 class Neuron; 00014 00024 class Spine 00025 { 00026 public: 00027 Spine(); 00028 Spine( const Neuron* parent ); 00030 // Field assignment stuff 00032 00033 Id getShaft( const Eref& e ) const; 00034 Id getHead( const Eref& e ) const; 00035 00036 void setShaftLength( const Eref& e, double len ); 00037 double getShaftLength( const Eref& e ) const; 00038 void setShaftDiameter( const Eref& e, double dia ); 00039 double getShaftDiameter( const Eref& e ) const; 00040 void setHeadLength( const Eref& e, double len ); 00041 double getHeadLength( const Eref& e ) const; 00042 void setHeadDiameter( const Eref& e, double dia ); 00043 double getHeadDiameter( const Eref& e ) const; 00044 00045 void setTotalLength( const Eref& e, double len ); 00046 double getTotalLength( const Eref& e ) const; 00047 00048 // rotate around dend, but still at right angles to it. 00049 void setAngle( const Eref& e, double theta ); 00050 double getAngle( const Eref& e ) const; 00051 00052 // Incline to dend, radians. Default is normal to dend and is 0. 00053 void setInclination( const Eref& e, double phi ); 00054 double getInclination( const Eref& e ) const; 00055 00056 // Assign to specific vector. Length of vector does size scaling. 00057 //void setVectorDirection( const Eref& e, vector< double > dir ); 00058 //vector< double > getVectorDirection( const Eref& e ) const; 00059 00061 // Dest funcs 00064 // Lookup funcs for Boundary 00066 00067 static const Cinfo* initCinfo(); 00068 private: 00069 const Neuron* parent_; 00070 }; 00071 00072 #endif // _SPINE_H