Class Environment
java.lang.Object
com.marginallyclever.ro3.node.Node
com.marginallyclever.ro3.node.nodes.environment.Environment
Environment controls external factors like the sun, the skybox, etc.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
final javax.vecmath.Vector3d
final javax.vecmath.Vector3d
double
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose
(com.jogamp.opengl.GLAutoDrawable glAutoDrawable) void
fromJSON
(org.json.JSONObject from) Deserialize this node and its children from a JSON object and its children.void
getComponents
(List<JPanel> list) Build a Swing Component that represents this Node.double
getEnvironmentColor
(Ray ray) Locate the Environment in the scene.getIcon()
Set a custom icon for this node.getSkyColor
(Ray ray) sky or sun color, depending on angle of incidencejavax.vecmath.Vector3d
double
double
boolean
void
setAmbientColor
(Color color) void
setDeclination
(double declination) void
setSkyShapeIsSphere
(boolean skyShapeIsSphere) void
setSkyTexture
(TextureWithMetadata skyTextureSource) void
setSunlightColor
(Color color) void
setSunlightStrength
(double strength) void
setTimeOfDay
(double timeOfDay) org.json.JSONObject
toJSON()
Serialize this node and its children to a JSON object and its children.Methods inherited from class com.marginallyclever.ro3.node.Node
addAttachListener, addChild, addChild, addDetachListener, addReadyListener, addRenameListener, findByPath, findChild, findChild, findFirstChild, findFirstSibling, findNodeByID, findParent, findParent, getAbsolutePath, getChildren, getName, getParent, getRootNode, getUniqueID, hasParent, isNameUsedBySibling, removeAttachListener, removeChild, removeDetachListener, removeReadyListener, removeRenameListener, setName, update, witnessProtection
-
Field Details
-
sunlightSource
public final javax.vecmath.Vector3d sunlightSource -
sunlightSourceNormalized
public final javax.vecmath.Vector3d sunlightSourceNormalized -
SUN_DISTANCE
public static final double SUN_DISTANCE- See Also:
-
sunlightColor
-
sunlightStrength
public double sunlightStrength -
ambientColor
-
-
Constructor Details
-
Environment
public Environment() -
Environment
-
-
Method Details
-
dispose
public void dispose(com.jogamp.opengl.GLAutoDrawable glAutoDrawable) -
toJSON
public org.json.JSONObject toJSON()Description copied from class:Node
Serialize this node and its children to a JSON object and its children. Classes that override this method should call super.toJSON() first, then add to the object returned. -
fromJSON
public void fromJSON(org.json.JSONObject from) Description copied from class:Node
Deserialize this node and its children from a JSON object and its children. Classes that override this method should call super.fromJSON(). When they do it will trigger the creation of child nodes. The child nodes will then call their own fromJSON() methods. -
getSunlightColor
-
setSunlightColor
-
getSunlightStrength
public double getSunlightStrength() -
setSunlightStrength
public void setSunlightStrength(double strength) -
getAmbientColor
-
setAmbientColor
-
getSunlightSource
public javax.vecmath.Vector3d getSunlightSource() -
getDeclination
public double getDeclination() -
setDeclination
public void setDeclination(double declination) -
getTimeOfDay
public double getTimeOfDay()- Returns:
- 0..360 (scale by 24/360 to get hours)
-
setTimeOfDay
public void setTimeOfDay(double timeOfDay) -
getComponents
Description copied from class:Node
Build a Swing Component that represents this Node.- Overrides:
getComponents
in classNode
- Parameters:
list
- the list to add components to.
-
getIcon
-
getSkyTexture
-
setSkyTexture
-
isSkyShapeIsSphere
public boolean isSkyShapeIsSphere() -
setSkyShapeIsSphere
public void setSkyShapeIsSphere(boolean skyShapeIsSphere) -
getSkyMesh
-
getSkyColor
sky or sun color, depending on angle of incidence- Parameters:
ray
- the ray to check- Returns:
- the color of the sky
-
getEnvironmentColor
Locate the Environment in the scene. If there is a texture assigned, look up the UV color. If there is no texture, return the sky/sun color.- Parameters:
ray
-- Returns:
-