Class CandidatePlaneRobustMesh
java.lang.Object
cz.fidentis.analyst.engines.symmetry.impl.CandidatePlaneRobust
cz.fidentis.analyst.engines.symmetry.impl.CandidatePlaneRobustMesh
- All Implemented Interfaces:
Comparable<CandidatePlaneRobust>
This symmetry plane changes the behavior so that similarity of Gaussian
curvature values and the symmetry of normal vectors are used to check the
quality of the symmetry plane.
-
Field Summary
Fields inherited from class cz.fidentis.analyst.engines.symmetry.impl.CandidatePlaneRobust
GRID_SIZE
-
Constructor Summary
ConstructorsConstructorDescriptionCandidatePlaneRobustMesh
(javax.vecmath.Point3d point1, javax.vecmath.Point3d point2, double avgDist) New candidate symmetry plane constructed from two points. -
Method Summary
Modifier and TypeMethodDescriptionstatic double
getNormalVectorsWeight
(javax.vecmath.Vector3d rv1, javax.vecmath.Vector3d v2) Returns the symmetry of normal vectorsvoid
measureWeightedSymmetry
(SymmetryVisitorRobustMesh.ProcessedCloud cache, UniformGrid3d<MeshPoint> grid, double alpha) Symmetry measurement based on the similarity of Gaussian curvatures and the symmetry of normal vectors, in addition to Wendland’s similarity function.The plane is normalized andnumAvg
set to zero!Methods inherited from class cz.fidentis.analyst.engines.symmetry.impl.CandidatePlaneRobust
compareTo, distance, getClosestPlane, getDistance, getEstimationVector, getNormal, getNumAverages, getPlane, getSymmetryMeasure, measureSymmetry, normalizeIfNeeded, setSymmetryMeasure, similarityFunction, toString
-
Constructor Details
-
CandidatePlaneRobustMesh
public CandidatePlaneRobustMesh(javax.vecmath.Point3d point1, javax.vecmath.Point3d point2, double avgDist) New candidate symmetry plane constructed from two points.- Parameters:
point1
- point in spacepoint2
- point in spaceavgDist
- the average distance between vertices and their centroid- Throws:
IllegalArgumentException
- if the @code{plane} argument is null
-
-
Method Details
-
measureWeightedSymmetry
public void measureWeightedSymmetry(SymmetryVisitorRobustMesh.ProcessedCloud cache, UniformGrid3d<MeshPoint> grid, double alpha) Symmetry measurement based on the similarity of Gaussian curvatures and the symmetry of normal vectors, in addition to Wendland’s similarity function.The plane is normalized andnumAvg
set to zero!- Parameters:
cache
- Precomputed values, including downsampled pointsgrid
- The same cloud stored in the uniform gridalpha
- the average distance between vertices and their centroid
-
getNormalVectorsWeight
public static double getNormalVectorsWeight(javax.vecmath.Vector3d rv1, javax.vecmath.Vector3d v2) Returns the symmetry of normal vectors- Parameters:
rv1
- A normal vector already reflected over this planev2
- A second normal vector for comparison- Returns:
- the symmetry of the given normal vectors
-