toxi.geom.mesh.subdiv
Class NormalDisplacementSubdivision
java.lang.Object
toxi.geom.mesh.subdiv.SubdivisionStrategy
toxi.geom.mesh.subdiv.DisplacementSubdivision
toxi.geom.mesh.subdiv.NormalDisplacementSubdivision
public class NormalDisplacementSubdivision
- extends DisplacementSubdivision
This subdivision strategy splits an edge in two equal halves at its mid
point. The midpoint itself is being displaced, however, in the average
direction of face normals associated with this edge. The displacement amount
is configurable as fraction of the original edge length. So given that:
M = edge midpoint
N = averaged normal vector
l = edge length
a = displacement amplification factor
M' = M + N * a * l
Method Summary |
java.util.List<Vec3D> |
computeSplitPoints(WingedEdge edge)
Computes a number of points on (or near) the given edge which are used
for splitting the edge in smaller segments. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NormalDisplacementSubdivision
public NormalDisplacementSubdivision(float amp)
computeSplitPoints
public java.util.List<Vec3D> computeSplitPoints(WingedEdge edge)
- Description copied from class:
SubdivisionStrategy
- Computes a number of points on (or near) the given edge which are used
for splitting the edge in smaller segments.
- Specified by:
computeSplitPoints
in class SubdivisionStrategy
- Parameters:
edge
- edge to split
- Returns:
- list of split points