Moved initialization to definition.

This commit is contained in:
Paolo Cignoni 2020-02-09 16:21:01 +01:00
parent 934e017ac6
commit cd2e6af09e
1 changed files with 16 additions and 32 deletions

View File

@ -45,59 +45,43 @@ struct VoronoiProcessingParameter
RegionArea=3 RegionArea=3
}; };
VoronoiProcessingParameter() VoronoiProcessingParameter() {}
{
colorStrategy = DistanceFromSeed; int colorStrategy=DistanceFromSeed;
areaThresholdPerc=0;
deleteUnreachedRegionFlag=false;
constrainSelectedSeed=false;
preserveFixedSeed=false;
collapseShortEdge=false;
collapseShortEdgePerc = 0.01f;
triangulateRegion=false;
unbiasedSeedFlag = true;
geodesicRelaxFlag = true;
relaxOnlyConstrainedFlag=false;
refinementRatio = 5.0f;
seedPerturbationProbability=0;
seedPerturbationAmount = 0.001f;
} float areaThresholdPerc=0;
int colorStrategy; bool deleteUnreachedRegionFlag=false;
float areaThresholdPerc; bool unbiasedSeedFlag= true;
bool deleteUnreachedRegionFlag; bool constrainSelectedSeed=false; /// If true the selected vertexes define a constraining domain:
bool unbiasedSeedFlag;
bool constrainSelectedSeed; /// If true the selected vertexes define a constraining domain:
/// During relaxation all selected seeds are constrained to move /// During relaxation all selected seeds are constrained to move
/// only on other selected vertices. /// only on other selected vertices.
/// In this way you can constrain some seed to move only on certain /// In this way you can constrain some seed to move only on certain
/// domains, for example moving only along some linear features /// domains, for example moving only along some linear features
/// like border of creases. /// like border of creases.
bool relaxOnlyConstrainedFlag; bool relaxOnlyConstrainedFlag=false;
bool preserveFixedSeed; /// If true the 'fixed' seeds are not moved during relaxation. bool preserveFixedSeed=false; /// If true the 'fixed' seeds are not moved during relaxation.
/// \see MarkVertexVectorAsFixed function to see how to fix a set of seeds. /// \see MarkVertexVectorAsFixed function to see how to fix a set of seeds.
float refinementRatio; /// It defines how much the input mesh has to be refined in order to have a supporting float refinementRatio = 5.0f; /// It defines how much the input mesh has to be refined in order to have a supporting
/// triangulation that is dense enough to well approximate the voronoi diagram. /// triangulation that is dense enough to well approximate the voronoi diagram.
/// reasonable values are in the range 4..10. It is used by PreprocessForVoronoi and this value /// reasonable values are in the range 4..10. It is used by PreprocessForVoronoi and this value
/// says how many triangles you should expect in a voronoi region of a given radius. /// says how many triangles you should expect in a voronoi region of a given radius.
float seedPerturbationProbability; /// if true at each iteration step each seed has the given probability to be perturbed a little. float seedPerturbationProbability=0; /// if true at each iteration step each seed has the given probability to be perturbed a little.
float seedPerturbationAmount; /// As a bbox diag fraction (e.g. in the 0..1 range). float seedPerturbationAmount = 0.001f; /// As a bbox diag fraction (e.g. in the 0..1 range).
// Convertion to Voronoi Diagram Parameters // Convertion to Voronoi Diagram Parameters
bool triangulateRegion; /// If true when building the voronoi diagram mesh each region is a bool triangulateRegion=false; /// If true when building the voronoi diagram mesh each region is a
/// triangulated polygon. Otherwise it each voronoi region is a star /// triangulated polygon. Otherwise it each voronoi region is a star
/// triangulation with the original seed in the center. /// triangulation with the original seed in the center.
bool collapseShortEdge; bool collapseShortEdge=false;
float collapseShortEdgePerc; float collapseShortEdgePerc = 0.01f;
bool geodesicRelaxFlag; bool geodesicRelaxFlag= true;
}; };
template <class MeshType, class DistanceFunctor = EuclideanDistance<MeshType> > template <class MeshType, class DistanceFunctor = EuclideanDistance<MeshType> >