13 #ifndef AIMS_GEODESIC_PATH_H
14 #define AIMS_GEODESIC_PATH_H
85 int strain,
double sigmo);
91 void shortestPath_1_N_ind(
unsigned source, std::vector<unsigned> targets,
unsigned *target,
double *length);
93 void shortestPath_1_1_ind_xyz(
unsigned source,
unsigned target, std::vector<unsigned>& indice, std::vector<Point3df>& coord3D);
98 void longestPath_1_N_ind(
unsigned source, std::vector<unsigned> targets,
unsigned *target,
double *length,
int type_distance);
99 std::vector<vect_ui>
longestPath_1_N_len(
unsigned source, std::vector<unsigned> targets, std::vector<double> &length,
int type_distance);
102 std::vector<unsigned>
longestPath_N_N_ind(std::vector<unsigned> points,
int* s,
int *d,
double *length,
int type_distance);
113 std::vector<float> &distanceMap,
double *length,
Geodesic paths or distance maps, using the Dijkstra algorithm.
void computeGraphDijkstra(const AimsSurfaceTriangle &surface, const TimeTexture< float > &texCurv, int method, int strain)
initialize internal stuctures, should be private.
std::vector< unsigned > shortestPath_1_1_1_ind(unsigned source, unsigned middle, unsigned target)
std::vector< unsigned > shortestPath_1_1_ind(unsigned source, unsigned target, TimeTexture< short > subset)
TimeTexture< float > _texCurv
std::vector< unsigned > vect_ui
void distanceMap_1_N_ind(unsigned source, std::vector< float > &distanceMap, double *length, int type_distance)
Compute a distance map from a given point.
GeodesicPath(const AimsSurfaceTriangle &surface, int method, int strain)
Same as the above constructor, except that the constraints map is computed internally as the curvatur...
void shortestPath_1_N_All_ind(unsigned sources, std::vector< unsigned > targets, std::vector< std::vector< unsigned > > &indices)
AimsSurfaceTriangle _surface
void shortestPath_1_1_ind_xyz(unsigned source, unsigned target, std::vector< unsigned > &indice, std::vector< Point3df > &coord3D)
std::vector< vect_ui > longestPath_1_N_len(unsigned source, std::vector< unsigned > targets, std::vector< double > &length, int type_distance)
void shortestPath_1_1_tex(unsigned source, unsigned target, float texturevalue, TimeTexture< float > &tex)
void longestPath_1_N_ind(unsigned source, std::vector< unsigned > targets, unsigned *target, double *length, int type_distance)
std::vector< Point3df > shortestPath_1_1_xyz(unsigned source, unsigned target)
std::vector< unsigned > longestPath_N_N_ind(std::vector< unsigned > points, int *s, int *d, double *length, int type_distance)
void shortestPath_1_N_ind(unsigned source, std::vector< unsigned > targets, unsigned *target, double *length)
void updateWeight(const TimeTexture< float > &texCurv, int method, int strain, double sigmo)
update internal structures, should be private.
GeodesicPath(const AimsSurfaceTriangle &surface, const TimeTexture< float > &texCurv, int method, int strain)
Initializes the geodesic path structures for a given mesh geometry, using a constraint map (curvature...
std::vector< unsigned > shortestPath_1_1_ind(unsigned source, unsigned target)
double shortestPath_1_1_len(unsigned source, unsigned target)
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle