de.grogra.lignum.sky
public class FirmamentNode extends NullWithShaderNode implements Instantiator<Instantiation>
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType| Modifier and Type | Field and Description |
|---|---|
protected java.util.Vector<java.lang.Double> |
areasByInclination |
protected java.util.Vector<java.lang.Integer> |
azimDivisions |
protected java.util.Vector<java.lang.Integer> |
azimuthIndex |
protected double |
deltaIncl |
protected GMatrix |
diffuseRad |
protected double |
diffuseRadBall |
protected double |
diffuseRadPlane |
protected double |
diffuseRadScale |
protected double |
diffuseRadZenith |
protected java.util.Vector<java.lang.Double> |
dir_x |
protected java.util.Vector<java.lang.Double> |
dir_y |
protected java.util.Vector<java.lang.Double> |
dir_z |
protected double |
directRadPlane |
protected double |
halfDeltaIncl |
protected java.util.Vector<java.lang.Integer> |
inclinationIndex |
protected java.util.Vector<java.lang.Double> |
inclinations |
protected int |
num_of_azim |
protected static int |
NUM_OF_AZIM |
protected int |
num_of_incl |
protected static int |
NUM_OF_INCL |
protected int |
numOfSectors |
protected double |
standDensity |
protected java.util.Vector<java.lang.Double> |
sunPosition |
protected double |
thetZ |
protected GMatrix |
zoneAzims |
$TYPEINFINITE_MASK, interior, interior$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELD, USED_BITStransform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELDADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELDDEFAULT_VALUE, EMPTY_MAP| Constructor and Description |
|---|
FirmamentNode() |
FirmamentNode(int no_incl,
int no_azim) |
| Modifier and Type | Method and Description |
|---|---|
double |
diffuseBallSensor() |
double |
diffuseForestRegionRadiationSum(int n,
double z,
double x,
double la,
double ke,
double H,
double Hc,
java.util.Vector<java.lang.Double> direction,
double dens)
This method calculates the radiation reaching a segment in a tree that is
growing in a stand among identical trees (dens trees/ha).
|
double |
diffuseHalfRegionRadiationSum(int n,
java.util.Vector<java.lang.Double> direction) |
double |
diffusePlaneSensor() |
double |
diffuseRadiationSum(java.util.Vector<java.lang.Double> direction) |
double |
diffuseRegionRadiationSum(int n,
java.util.Vector<java.lang.Double> direction) |
double |
directHalfRegionRadiationSum(int n,
java.util.Vector<java.lang.Double> direction) |
double |
directRadiation(java.util.Vector<java.lang.Double> direction)
returns the intensity of the direct (sun) radiation on the plane
perpendicular to the dirction of the sun (return) direction of the sun
(in vector direction)
Obs, sunPosition[2] = sin(iclination)
|
int |
getAzimDivision(int n) |
double |
getAzimuth(int n) |
int |
getAzimuthIndex(int n) |
Vector3d |
getDirection(int n) |
double |
getInclination(int n) |
int |
getInclinationIndex(int n) |
Instantiator |
getInstantiator() |
int |
getNoOfAzimuths() |
int |
getNoOfInclinations() |
double |
getSectorArea(int n) |
java.util.Vector<java.lang.Double> |
getSunPosition() |
void |
instantiate(Instantiation state) |
int |
numberOfRegions() |
void |
outInclinations() |
void |
resize(int no_incl,
int no_azim,
double diffuse_rad_plane) |
void |
setDiffuseRadiation(double rad)
Sets the radiation of sectors to correspond input.
|
void |
setDirectRadiation(double rad) |
void |
setSunPosition(java.util.Vector<java.lang.Double> v)
Sets the the vector of Firmament that points to the sun v declared const
in cLignum
|
draw, getNTypeImpl, newInstance, pickgetInterior, getShader, getSurfaceArea, getSymbolColor, getVolume, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setShader, setShaders, setTreatedAsInfinitegetLocalTransformation, getTransform, getTranslation, isTransforming, postTransform, preTransform, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslationaddEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIndex, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getShort, getSource, getStamp, getSuccessor, getSymbol, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setName, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplaceaddEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetBitMark, getObjectMark, setBitMark, setObjectMarkprotected java.util.Vector<java.lang.Double> areasByInclination
protected java.util.Vector<java.lang.Integer> azimDivisions
protected java.util.Vector<java.lang.Integer> azimuthIndex
protected double deltaIncl
protected GMatrix diffuseRad
protected double diffuseRadBall
protected double diffuseRadPlane
protected double diffuseRadScale
protected double diffuseRadZenith
protected java.util.Vector<java.lang.Double> dir_x
protected java.util.Vector<java.lang.Double> dir_y
protected java.util.Vector<java.lang.Double> dir_z
protected double directRadPlane
protected double halfDeltaIncl
protected java.util.Vector<java.lang.Integer> inclinationIndex
protected java.util.Vector<java.lang.Double> inclinations
protected int num_of_azim
protected static int NUM_OF_AZIM
protected int num_of_incl
protected static int NUM_OF_INCL
protected int numOfSectors
protected double standDensity
protected java.util.Vector<java.lang.Double> sunPosition
protected double thetZ
protected GMatrix zoneAzims
public FirmamentNode()
public FirmamentNode(int no_incl,
int no_azim)
public double diffuseBallSensor()
public double diffuseForestRegionRadiationSum(int n,
double z,
double x,
double la,
double ke,
double H,
double Hc,
java.util.Vector<java.lang.Double> direction,
double dens)
n - number of regionz - height of the point from ground, mx - distance of the point from the tree stem, mla - needle area (total area) per tree (= sf * Wf), m2ke - extinction cofficient (= 0.14 for Scots pine), unitlessH - height of tree (h. of stand), mHc - height of the crown base of the tree (stand), mdirection - dens - Density of the stand (trees/ha)public double diffuseHalfRegionRadiationSum(int n,
java.util.Vector<java.lang.Double> direction)
public double diffusePlaneSensor()
public double diffuseRadiationSum(java.util.Vector<java.lang.Double> direction)
public double diffuseRegionRadiationSum(int n,
java.util.Vector<java.lang.Double> direction)
public double directHalfRegionRadiationSum(int n,
java.util.Vector<java.lang.Double> direction)
public double directRadiation(java.util.Vector<java.lang.Double> direction)
direction - public int getAzimDivision(int n)
public double getAzimuth(int n)
public int getAzimuthIndex(int n)
public Vector3d getDirection(int n)
public double getInclination(int n)
public int getInclinationIndex(int n)
public Instantiator getInstantiator()
getInstantiator in class Nodepublic int getNoOfAzimuths()
public int getNoOfInclinations()
public double getSectorArea(int n)
public java.util.Vector<java.lang.Double> getSunPosition()
public void instantiate(Instantiation state)
instantiate in interface Instantiator<Instantiation>public int numberOfRegions()
public void outInclinations()
public void resize(int no_incl,
int no_azim,
double diffuse_rad_plane)
public void setDiffuseRadiation(double rad)
rad - , Diffuse radiation falling on a horizontal planepublic void setDirectRadiation(double rad)
public void setSunPosition(java.util.Vector<java.lang.Double> v)
v - Vector pointing to sun