Class CandidatePlaneRobustMesh

java.lang.Object
cz.fidentis.analyst.engines.symmetry.impl.CandidatePlaneRobust
cz.fidentis.analyst.engines.symmetry.impl.CandidatePlaneRobustMesh
All Implemented Interfaces:
Comparable<CandidatePlaneRobust>

public class CandidatePlaneRobustMesh extends 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.
  • 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 space
      point2 - point in space
      avgDist - 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 and numAvg set to zero!
      Parameters:
      cache - Precomputed values, including downsampled points
      grid - The same cloud stored in the uniform grid
      alpha - 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 plane
      v2 - A second normal vector for comparison
      Returns:
      the symmetry of the given normal vectors