118 unsigned int getMeshType(
unsigned int fid )
const;
168 const SrcFinfo2<
unsigned int, vector< double > >*
174 unsigned int numNodes,
unsigned int numThreads );
183 double getAdx(
unsigned int curr,
unsigned int& parentFid )
const;
193 vector< VoxelJunction > & ret )
const;
196 vector< VoxelJunction > & ret )
const;
199 vector< VoxelJunction > & ret )
const;
209 double nearest(
double x,
double y,
double z,
210 unsigned int& index )
const;
213 double& x,
double& y,
double& z )
const;
225 double x,
double y,
double z );
239 void buildNodeTree(
const map< Id, unsigned int >& comptMap );
258 const vector< NeuroNode >&
getNodes()
const;
340 #endif // _NEURO_MESH_H
vector< double > getDiffusionScaling(unsigned int fid) const
Virtual function to return scale factor for diffusion. 1 here.
const vector< double > & vGetVoxelVolume() const
Virtual func so that derived classes can pass voxel volume back.
vector< Id > head_
Id of shaft compartment.
double getMeshEntryVolume(unsigned int fid) const
Virtual function to return volume of mesh Entry.
void setDiffLength(double v)
vector< int > getSpineVoxelOnDendVoxel() const
void matchCubeMeshEntries(const ChemCompt *other, vector< VoxelJunction > &ret) const
bool separateSpines_
Max permitted length constant for diffusion.
void indexToSpace(unsigned int index, double &x, double &y, double &z) const
void setGeometryPolicy(string v)
double getDiffLength() const
vector< unsigned int > getEndVoxelInCompt() const
vector< double > getCoordinates(unsigned int fid) const
Virtual function to return coords of mesh Entry.
unsigned int getMeshType(unsigned int fid) const
Virtual function to return MeshType of specified entry.
vector< Id > getElecComptMap() const
unsigned int getMeshDimensions(unsigned int fid) const
Virtual function to return dimensions of specified entry.
unsigned int getNumDiffCompts() const
vector< unsigned int > getStartVoxelInCompt() const
unsigned int innerGetDimensions() const
const vector< double > & getVoxelArea() const
vector< unsigned int > getSpineVoxelsOnCompartment(ObjId compt) const
vector< double > getDiffusionArea(unsigned int fid) const
Virtual function to return diffusion X-section area.
void transmitSpineInfo(const Eref &e)
vector< unsigned int > getDendVoxelsOnCompartment(ObjId compt) const
vector< Id > getElecComptList() const
string getSubTreePath(const Eref &e) const
vector< ObjId > getSubTree(const Eref &e) const
void buildNodeTree(const map< Id, unsigned int > &comptMap)
const vector< double > & getVoxelLength() const
const vector< double > & vGetVoxelMidpoint() const
Virtual func so that derived classes can return voxel midpoint.
void innerHandleNodeInfo(const Eref &e, unsigned int numNodes, unsigned int numThreads)
NeuroMesh & operator=(const NeuroMesh &other)
vector< unsigned int > getParentVoxel() const
void setSeparateSpines(bool v)
vector< double > length_
Pre-calculation of length of each MeshEntry.
void innerHandleRequestMeshStats(const Eref &e, const SrcFinfo2< unsigned int, vector< double > > *meshStatsFinfo)
bool vSetVolumeNotRates(double volume)
void insertSingleDummy(unsigned int parent, unsigned int self, double x, double y, double z)
double extendedMeshEntryVolume(unsigned int fid) const
Vol of all mesh Entries including abutting diff-coupled voxels.
void updateShaftParents()
void matchMeshEntries(const ChemCompt *other, vector< VoxelJunction > &ret) const
unsigned int getNumSegments() const
void innerBuildDefaultMesh(const Eref &e, double size, unsigned int numEntries)
Virtual func to make a mesh with specified size and numEntries.
static unsigned int numNodes
void setSubTree(const Eref &e, vector< ObjId > compartments)
vector< unsigned int > parentVoxel_
Index of parent voxel of spines.
const vector< NeuroNode > & getNodes() const
double vGetEntireVolume() const
vector< unsigned int > parent_
Id of head compartment.
unsigned int innerGetNumEntries() const
double nearest(double x, double y, double z, unsigned int &index) const
void setSubTreePath(const Eref &e, string path)
double surfaceGranularity_
Id putSomaAtStart(Id origSoma, unsigned int maxDiaIndex)
This shuffles the nodes_ vector to put soma node at the start.
void buildStencil()
Utility function to set up Stencil for diffusion in NeuroMesh.
void matchNeuroMeshEntries(const ChemCompt *other, vector< VoxelJunction > &ret) const
static const Cinfo * initCinfo()
string getGeometryPolicy() const
bool filterSpines(Id compt)
vector< NeuroNode > nodes_
void innerSetNumEntries(unsigned int n)
Inherited virtual func.
double getAdx(unsigned int curr, unsigned int &parentFid) const
bool getSeparateSpines() const
vector< unsigned int > nodeIndex_