|
JavaView© v3.95.000 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjv.object.PsObject
jvx.geom.PwCurvature
Compute various discrete curvature terms of a polyhedral surface.
PgElementSet,
Serialized Form| Field Summary |
| Fields inherited from class jv.object.PsObject |
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS |
| Constructor Summary | |
PwCurvature()
|
|
| Method Summary | |
static double |
getGaussCurvature(PgElementSet geom,
int aVertexInd)
Get Gauss curvature at vertex with given index. |
static double |
getGaussCurvature(PgElementSet geom,
PdVector gauss)
Compute discrete Gauss curvature at all vertices, and return total interior Gauss curvature. |
static boolean |
getMeanCurvature(PgElementSet geom)
Compute and assign vertex normals as mean curvature vectors. |
static PdVector |
getMeanCurvature(PgElementSet geom,
PdVector mean)
Compute the mean curvature at all vertices. |
static PdVector[] |
getMeanCurvature(PgElementSet geom,
PdVector[] meanVec)
Compute discrete mean curvature at all vertices. |
static void |
getPrincipalCurvatures(PgElementSet geom)
Computes the principal curvatures and directions at each vertex of the surface and add two vector fields to the surface. |
static void |
getPrincipalCurvatures(PgElementSet geom,
boolean divideByAreaOfStar)
Computes the principal curvatures and directions at each vertex of the surface and add two vector fields to the surface. |
static void |
getPrincipalCurvatures(PgElementSet geom,
PdMatrix[] shape,
PdVector[] pcValues,
PdVector[][] pcDirections)
Computes the principal curvatures and directions at each vertex of the surface. |
static void |
getPrincipalCurvatures(PgElementSet geom,
PdMatrix[] shape,
PdVector[] pcValues,
PdVector[][] pcDirections,
boolean orderByAbsVal)
Computes the principal curvatures and directions at each vertex of the surface. |
static void |
getPrincipalCurvatures(PgElementSet geom,
PdVector[] pcValues,
PdVector[][] pcDirections)
Computes the principal curvatures and directions at each vertex of the surface. |
static PdMatrix[] |
getShapeOperator(PgElementSet geom,
double d)
|
static PdMatrix[] |
getShapeOperator(PgElementSet geom,
PdMatrix[] shape)
Computes the shape operator at each vertex of the surface, represented as a (d,d) matrix where d is the dimension of the ambient space. |
static PdMatrix[] |
getShapeOperator(PgElementSet geom,
PdMatrix[] shape,
boolean projectToTangentPlane)
Computes the shape operator at each vertex of the surface, represented as a (d,d) matrix where d is the dimension of the ambient space. |
static void |
makeColorFromGaussCurvature(PgElementSet geom)
Show discrete Gauss curvature at all vertices and elements. |
| Methods inherited from class jv.object.PsObject |
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, init, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, toString, update, updatePanels |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public PwCurvature()
| Method Detail |
public static void makeColorFromGaussCurvature(PgElementSet geom)
getGaussCurvature(PgElementSet,PdVector).
public static double getGaussCurvature(PgElementSet geom,
int aVertexInd)
public static double getGaussCurvature(PgElementSet geom,
PdVector gauss)
Note, polygonal faces with m>3 vertices are triangulated on the fly by cutting off the vertex with smallest vertex angle successively. This tries to ensure that the Gauss curvature is independent of the numbering of vertices inside an element, as it would depend on if we would use subtriangles {v[0],v[j],v[j+1]}.
If geometry has elements with more than three edges then we need
the element normals for triangulating those elements. If the element
normals do not exist in such a case, then we generate them using
makeElementNormals().
public static PdVector[] getMeanCurvature(PgElementSet geom,
PdVector[] meanVec)
public static boolean getMeanCurvature(PgElementSet geom)
true on success.
public static PdVector getMeanCurvature(PgElementSet geom,
PdVector mean)
Careful: If array 'mean' is too small then a new array with correct size is created, i.e. the array is not expanded.
Method requires existence of correct vertex normals to compute the sign. Mean curvature is negative of mean curvature vector has negative scalar product with vertex normal.
public static PdMatrix[] getShapeOperator(PgElementSet geom,
PdMatrix[] shape)
PnMassMatrix.multInvMassMatrix(PgElementSet, PdMatrix[], boolean).
public static PdMatrix[] getShapeOperator(PgElementSet geom,
PdMatrix[] shape,
boolean projectToTangentPlane)
PnMassMatrix.multInvMassMatrix(PgElementSet, PdMatrix[], boolean).
If the projection is enabled each matrix is transformed such that the trace of the
matrix is preserved and
public static PdMatrix[] getShapeOperator(PgElementSet geom,
double d)
public static void getPrincipalCurvatures(PgElementSet geom,
PdVector[] pcValues,
PdVector[][] pcDirections)
PnMassMatrix.multInvMassMatrix(PgElementSet, PdMatrix[], boolean).
If only the only the direction or the values are needed, the other argument can be null.
geom - geometry to operate on.pcValues - array with length 2 and vector length equal to the number of vertices.pcDirections - array with length [2][nov] where nov is the number of vertices. Each vector must have dimension equal to the dimension of the ambient space.public static void getPrincipalCurvatures(PgElementSet geom)
getPrincipalCurvatures(PgElementSet, boolean).
}.
public static void getPrincipalCurvatures(PgElementSet geom,
boolean divideByAreaOfStar)
public static void getPrincipalCurvatures(PgElementSet geom,
PdMatrix[] shape,
PdVector[] pcValues,
PdVector[][] pcDirections)
PnMassMatrix.multInvMassMatrix(PgElementSet, PdMatrix[], boolean).
If only the only the direction or the values are needed, the other argument can be null.
geom - geometry to operate on.pcValues - array with length 2 and vector length equal to the number of vertices.pcDirections - array with length [2][nov] where nov is the number of vertices. Each vector must have dimension equal to the dimension of the ambient space.shape - array of length equal to the number of vertices of the geometry. This argument can optionally be null.
public static void getPrincipalCurvatures(PgElementSet geom,
PdMatrix[] shape,
PdVector[] pcValues,
PdVector[][] pcDirections,
boolean orderByAbsVal)
PnMassMatrix.multInvMassMatrix(PgElementSet, PdMatrix[], boolean).
If only the only the direction or the values are needed, the other argument can be null.
geom - geometry to operate on.pcValues - array with length 2 and vector length equal to the number of vertices.pcDirections - array with length [2][nov] where nov is the number of vertices. Each vector must have dimension equal to the dimension of the ambient space.shape - array of length equal to the number of vertices of the geometry. This argument can optionally be null.orderByAbsVal - true - principal curvature are ordered by their absolute value.
|
JavaView© v3.95.000 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||