HE_Mesh
6.0.1
|
Public Member Functions | |
boolean | isBoundary (final int v) |
double | k1 (final int i) |
double | k2 (final int i) |
double | K (final int i) |
double | k1min () |
double | k2min () |
double | Kmin () |
double | k1max () |
double | k2max () |
double | Kmax () |
WB_Vector | k1dir (final int i) |
WB_Vector | k2dir (final int i) |
double[] | DCurv (final int i) |
double | DCurvInvariant (final int i) |
int[] | vfNeighbors (final int i) |
![]() | |
WB_Mesh | get () |
int[][] | getFacesAsInt () |
int[][] | getEdgesAsInt () |
WB_Plane | getPlane (final int id, final double d) |
WB_Plane | getPlane (final int id) |
List< WB_Plane > | getPlanes (final double d) |
List< WB_Plane > | getPlanes () |
WB_Polygon | getPolygon (final int id) |
List< WB_Polygon > | getPolygons () |
WB_Point | getCenter () |
WB_AABB | getAABB () |
WB_Mesh | isoFitInAABB (final WB_AABB AABB) |
WB_Mesh | triangulate () |
WB_Mesh | triangulateForceST () |
WB_Mesh | triangulateForceMT () |
WB_Vector | getFaceNormal (final int id) |
WB_Point | getFaceCenter (final int id) |
WB_Vector | getVertexNormal (final int i) |
int | getNumberOfFaces () |
int | getNumberOfVertices () |
WB_Coord | getVertex (final int i) |
WB_CoordCollection | getPoints () |
int[] | vfNeighbors (final int i) |
int[] | getFace (final int i) |
WB_Mesh | apply (final WB_Transform WB_Point) |
double | k1 (final int i) |
double | k2 (final int i) |
double | K (final int i) |
double | k1min () |
double | k2min () |
double | Kmin () |
double | k1max () |
double | k2max () |
double | Kmax () |
WB_Vector | k1dir (final int i) |
WB_Vector | k2dir (final int i) |
double[] | DCurv (final int i) |
double | DCurvInvariant (final int i) |
int[] | getTriangles () |
Protected Member Functions | |
WB_TriangleMesh (final Collection<?extends WB_Coord > points, final int[][] faces) | |
WB_TriangleMesh (final WB_Coord[] points, final int[][] faces) | |
WB_TriangleMesh (final WB_Mesh mesh) | |
void | updateCurvatures () |
void | updateDCurvatures () |
![]() | |
WB_Mesh () | |
WB_Mesh (final WB_Mesh mesh) | |
WB_Mesh (final Collection<?extends WB_Coord > points, final int[][] faces) | |
WB_Mesh (final WB_Coord[] points, final int[][] faces) | |
Private Member Functions | |
void | updateFaceNormals () |
void | updateVertexNormals () |
void | updateVertexNormalsSqLength () |
void | updateVertexNormalsArea () |
void | updateVertexNormalsAngle () |
void | updateVertexNormalsNoWeight () |
void | updatePointAreas () |
void | updatevvNeighbors () |
void | updatevfNeighbors () |
void | updateffNeighbors () |
Private Attributes | |
WB_GeometryFactory | geometryfactory = new WB_GeometryFactory() |
Static Private Attributes | |
static final int[] | PREV = new int[] { 2, 0, 1 } |
static final int[] | NEXT = new int[] { 1, 2, 0 } |
Additional Inherited Members | |
![]() | |
int[][] | faces |
List< WB_Coord > | vertices |
WB_AABB | aabb |
|
protected |
points | |
faces |
References wblut.geom.WB_Mesh.triangulate().
|
protected |
points | |
faces |
References wblut.geom.WB_Mesh.triangulate().
|
protected |
double [] wblut.geom.WB_TriangleMesh.DCurv | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateDCurvatures().
double wblut.geom.WB_TriangleMesh.DCurvInvariant | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateDCurvatures().
boolean wblut.geom.WB_TriangleMesh.isBoundary | ( | final int | v | ) |
v |
References wblut.geom.WB_TriangleMesh.updatevfNeighbors(), wblut.geom.WB_TriangleMesh.updatevvNeighbors(), and wblut.geom.WB_TriangleMesh.vfNeighbors().
double wblut.geom.WB_TriangleMesh.K | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.k1 | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
WB_Vector wblut.geom.WB_TriangleMesh.k1dir | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.k1max | ( | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.k1min | ( | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.k2 | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
WB_Vector wblut.geom.WB_TriangleMesh.k2dir | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.k2max | ( | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.k2min | ( | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.Kmax | ( | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
double wblut.geom.WB_TriangleMesh.Kmin | ( | ) |
References wblut.geom.WB_TriangleMesh.updateCurvatures().
|
protected |
References wblut.geom.WB_GeometryFactory3D.createNormalizedVector(), wblut.geom.WB_GeometryFactory3D.createVector(), wblut.geom.WB_GeometryFactory3D.createVectorFromTo(), wblut.geom.WB_Vector.cross(), wblut.geom.WB_Vector.crossSelf(), wblut.geom.WB_Vector.dot(), wblut.geom.WB_Mesh.faces, wblut.geom.WB_Vector.normalizeSelf(), wblut.geom.WB_TriangleMesh.updatePointAreas(), wblut.geom.WB_TriangleMesh.updateVertexNormals(), wblut.geom.WB_Mesh.vertices, wblut.geom.WB_MutableCoordinate.xd(), wblut.geom.WB_MutableCoordinate.yd(), and wblut.geom.WB_MutableCoordinate.zd().
|
protected |
References wblut.geom.WB_GeometryFactory3D.createNormalizedVector(), wblut.geom.WB_GeometryFactory3D.createVector(), wblut.geom.WB_GeometryFactory3D.createVectorFromTo(), wblut.geom.WB_Vector.cross(), wblut.geom.WB_Mesh.faces, wblut.geom.WB_Vector.normalizeSelf(), wblut.geom.WB_TriangleMesh.updateCurvatures(), wblut.geom.WB_Mesh.vertices, wblut.geom.WB_MutableCoordinate.xd(), wblut.geom.WB_MutableCoordinate.yd(), and wblut.geom.WB_MutableCoordinate.zd().
|
private |
|
private |
|
private |
|
private |
|
private |
The normal of a vertex v computed as a weighted sum f the incident face normals. The weight is simply the angle of the involved wedge. Described in:
G. Thurmer, C. A. Wuthrich "Computing vertex normals from polygonal facets" Journal of Graphics Tools, 1998
References wblut.geom.WB_Vector.addMulSelf(), wblut.geom.WB_GeometryFactory3D.createNormalizedVectorFromTo(), wblut.geom.WB_GeometryFactory3D.createVector(), wblut.geom.WB_Mesh.faces, wblut.geom.WB_Vector.getAngleNorm(), wblut.geom.WB_Vector.mulSelf(), wblut.geom.WB_Vector.normalizeSelf(), wblut.geom.WB_TriangleMesh.updateFaceNormals(), and wblut.geom.WB_Mesh.vertices.
|
private |
References wblut.geom.WB_Vector.addSelf(), wblut.geom.WB_GeometryFactory3D.createNormalizedVectorFromTo(), wblut.geom.WB_GeometryFactory3D.createVector(), wblut.geom.WB_Vector.cross(), wblut.geom.WB_Mesh.faces, wblut.geom.WB_Vector.normalizeSelf(), wblut.geom.WB_TriangleMesh.updateFaceNormals(), and wblut.geom.WB_Mesh.vertices.
|
private |
|
private |
The normal of a vertex v is computed according to the formula described by Nelson Max in Max, N., "Weights for Computing Vertex Normals from Facet Normals", Journal of Graphics Tools, 4(2) (1999) The weight for each wedge is the cross product of the two edge over the product of the square of the two edge lengths. According to the original paper it is perfect only for spherical surface, but it should perform well...
References wblut.geom.WB_Vector.addMulSelf(), wblut.geom.WB_GeometryFactory3D.createNormalizedVectorFromTo(), wblut.geom.WB_GeometryFactory3D.createVector(), wblut.geom.WB_Vector.cross(), wblut.geom.WB_Mesh.faces, wblut.geom.WB_Vector.getSqLength(), wblut.geom.WB_Vector.normalizeSelf(), wblut.geom.WB_TriangleMesh.updateFaceNormals(), and wblut.geom.WB_Mesh.vertices.
|
private |
|
private |
int [] wblut.geom.WB_TriangleMesh.vfNeighbors | ( | final int | i | ) |
References wblut.geom.WB_TriangleMesh.updatevfNeighbors().
|
private |
|
staticprivate |
|
staticprivate |