public class NormalGenerator extends Object
If two (or more) triangles in the model share the same coordinate index then the normal generator will attempt to generate one normal for the vertex, resulting in a "smooth" looking surface. If two coordinates don't have the same index then they will have two separate normals, even if they have the same position. This will result in a "crease" in your object. If you suspect that your data isn't properly indexed, call GeometryInfo.recomputeIndexes().
Of course, sometimes your model *has* a crease in it. That's what creaseAngle is. If two triangles' normals differ by more than creaseAngle, then the vertex will get two separate normals, creating a discontinuous crease in the model. This is perfect for the edge of a table or the corner of a cube, for instance.
Constructor and Description |
---|
NormalGenerator()
Constructor.
|
NormalGenerator(double radians)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
generateNormals(GeometryInfo gi)
Generate normals for the GeometryInfo object.
|
double |
getCreaseAngle()
Returns the current value of the crease angle, in radians.
|
void |
setCreaseAngle(double radians)
Set the crease angle.
|
public NormalGenerator(double radians)
public NormalGenerator()
public void generateNormals(GeometryInfo gi)
public void setCreaseAngle(double radians)
public double getCreaseAngle()
Copyright © 2016–2022 SciJava. All rights reserved.