36 #ifndef AIMS_SCALESPACE_MESHBLOB_H
37 #define AIMS_SCALESPACE_MESHBLOB_H
97 std::map<int, BlobDescriptor> & limits );
102 std::map<int, BlobDescriptor> & limits,
int startindex );
109 float depl = 0,
float depl0 = 0,
111 bool compressedMeshes =
true);
116 std::multimap<float, unsigned>
sortGLB(std::string key,
117 const std::map<unsigned, Vertex *> & nodes,
118 const std::map<
unsigned, std::set<Vertex *> > & scblobs);
122 const std::multimap<float, unsigned> & ordering,
123 const std::map<unsigned, Vertex *> & nodes,
124 const std::map<
unsigned, std::set<Vertex *> > & scblobs);
127 const std::map<Vertex *, unsigned> & labels,
128 const std::map<unsigned, Vertex *> & nodes);
131 const std::map<unsigned, Vertex *> & nodes,
132 const std::map<
unsigned, std::set<Vertex *> > & scblobs);
145 int index,
float tbegin,
float tend,
146 float dt,
float dts,
float dtmin,
147 const float HMAX,
bool logFlag,
148 const std::map<
unsigned,
149 std::set< std::pair<unsigned,float> > >
void GLBEdgeToSSBEdge(Graph &glevel, Graph &psketch, const std::map< Vertex *, unsigned > &labels, const std::map< unsigned, Vertex * > &nodes)
void cleanGraphScale(Graph &g, float scale)
void createSubMeshes(Graph &g, const AimsSurface< 3, Void > &mesh, float depl=0, float depl0=0, MeshShape ms=Surface, MeshGrowingMode gm=Scale, bool compressedMeshes=true)
Texture< int > meshBlobExtract(const AimsSurface< 3, Void > &mesh, const Texture< float > &inittex, std::map< int, BlobDescriptor > &limits)
AimsSurfaceTriangle surface2Tore(const AimsSurfaceTriangle &)
std::multimap< float, unsigned > sortGLB(std::string key, const std::map< unsigned, Vertex * > &nodes, const std::map< unsigned, std::set< Vertex * > > &scblobs)
MergeCode mergeGraphs(Graph &g, Graph &h)
void grayLevel2PrimalSketch(Graph &glevel, Graph &psketch)
int blobToGraph(Graph &g, const Texture< int > &blobs, const AimsSurfaceTriangle &mesh, const AimsSurfaceTriangle &infl_mesh, const Texture< float > &values, float scale, std::map< int, BlobDescriptor > &limits, int startindex)
void GLBVertexToSSBVertex(Graph &psketch, const std::multimap< float, unsigned > &ordering, const std::map< unsigned, Vertex * > &nodes, const std::map< unsigned, std::set< Vertex * > > &scblobs)
int adaptiveScaleSpace(Graph &psketch, const AimsSurfaceTriangle &mesh, const AimsSurfaceTriangle &infl_mesh, const Texture1d &inittex, std::map< float, Texture< int > > &tex_blobs, std::map< float, Texture< float > > &tex_curv, int index, float tbegin, float tend, float dt, float dts, float dtmin, const float HMAX, bool logFlag, const std::map< unsigned, std::set< std::pair< unsigned, float > > > &weightLapl)
carto::rc_ptr< AimsSurfaceTriangle > getRepresentativeBlobMesh(float scale0, const std::set< Vertex * > &SSB)
float getRepresentativeScale(const std::set< Vertex * > &SSB)
void setGraphLabelAndName(const std::multimap< float, unsigned > &ordering, const std::map< unsigned, Vertex * > &nodes, const std::map< unsigned, std::set< Vertex * > > &scblobs)
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle
AIMSDATA_API TimeTexture< float > Texture1d