package mocap.figure;
|
|
import javax.media.j3d.Appearance;
|
import javax.media.j3d.Material;
|
|
/**
|
* Singleton class to give out appearances for "selected" and "normal"
|
* nodes.
|
*
|
* @author Michael Kipp
|
*/
|
public class JointAppearance extends Appearance {
|
|
private static final JointAppearance INSTANCE = new JointAppearance();
|
private static final JointAppearance SELECTED_INSTANCE = new JointAppearance(true);
|
|
private JointAppearance() {
|
super();
|
setMaterial(makeMaterial(.5f, .5f, .5f));
|
}
|
|
private JointAppearance(boolean sel) {
|
super();
|
if (sel)
|
setMaterial(makeMaterial(1f, .5f, .5f));
|
else
|
setMaterial(makeMaterial(.5f, .5f, .5f));
|
}
|
|
public static JointAppearance getInstance() {
|
return INSTANCE;
|
}
|
|
public static JointAppearance getSelectedInstance() {
|
return SELECTED_INSTANCE;
|
}
|
|
private Material makeMaterial(float r, float g, float b) {
|
Material mat = new Material();
|
mat.setDiffuseColor(r, g, b);
|
mat.setSpecularColor(1f,.3f,.3f);
|
mat.setShininess(20);
|
mat.setLightingEnable(true);
|
return mat;
|
}
|
}
|