java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.imp3d.objects.ShadedNull
de.grogra.blocks.NullWithShaderNode
de.grogra.lignum.stlVoxelspace.VoxelSpaceNode
- All Implemented Interfaces:
Transformation
,Pickable
,Renderable
,Mathsym
,VoxelSpaceIF
,Manageable
,PersistenceCapable
,Shareable
,UserFields
,XObject
,Map
,Instantiator<Instantiation>
,Serializable
public class VoxelSpaceNode
extends NullWithShaderNode
implements VoxelSpaceIF, Instantiator<Instantiation>, Mathsym
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Node.NType
int
int
int
int
int
boolean
static final Node.NType.Field
VoxelBox[][][]
double
int
double
int
double
int
Fields inherited from class de.grogra.imp3d.objects.ShadedNull
INFINITE_MASK, interior, interior$FIELD, renderAsWireframe, renderAsWireframe$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELD, USED_BITS
Fields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELD
Fields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_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, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
Fields inherited from interface de.grogra.lignum.jadt.Mathsym
HIT_THE_FOLIAGE, HIT_THE_WOOD, K_EPSILON, NO_HIT, PI_DIV_2, R_EPSILON, R_HUGE
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor. corner1=(0,0,0), corner2=(1,1,1) 5,5,5 number of VoxBoxes in x,y, and z directionVoxelSpaceNode
(Point3d c1, Point3d c2, double xsize, double ysize, double zsize, int xn, int yn, int zn, Firmament f, double kb) VoxelSpaceNode
(Point3d c1, Point3d c2, int xn, int yn, int zn, Firmament f) -
Method Summary
Modifier and TypeMethodDescriptionvoid
double
double
calculateTurbidLight
(boolean self_shading) void
DumpCfTree
(VoxelSpaceIF s, Tree tree, int num_parts, boolean wood) void
evaluateVerticalNeedleAreaDensity
(double Hmax, double Hmin, int n, Vector<PairMinMax> NAD) void
fillVoxelBoxes
(double needleA, double leafA) void
fillVoxelBoxes
(double inivalue, int beginZ, int endZ) void
FillVoxelBoxesWithNeedles
(double Sf, double Wf, double Rf, double L, int beginZ, int endZ) double
getArea()
double
double
double
double
double
getK_b()
double
double
double
protected Node.NType
This method returns theNode.NType
which describes the managed fields of the class of this node.int
int
int
double
getQabs()
double
getQin()
getRoute
(Vector<VoxelMovement> vec, int startx, int starty, int startz, PositionVector dir) getRoute
(Vector<VoxelMovement> vec, Point3d p0, PositionVector dir, ParametricCurve K, boolean pairwise) double
getXbox()
int
getXindex
(double local_xcoord) double
double
getYbox()
int
getYindex
(double local_ycoord) double
double
getZbox()
int
getZindex
(double local_zcoord) double
void
void
void
incHitw()
void
incNohit()
void
instantiate
(Instantiation state) boolean
void
static double
NearbyShading
(Point3d out, PositionVector direction, double Htop, double Hbot, double LAIc, double LAIb) static double
NearbyShading
(Point3d out, PositionVector direction, double Htop, double Hbot, double LAIc, double LAIb, double k_conifer, double k_deciduous) protected Node
This method returns a new instance of the class of this node.void
reset()
void
void
resize
(double lX, double lY, double lZ) void
resize
(double lX, double lY, double lZ, int nX, int nY, int nZ) void
resize
(int x, int y, int z) void
void
setVisible
(boolean value) void
Methods inherited from class de.grogra.blocks.NullWithShaderNode
draw, pick
Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior, getShader, getSurfaceArea, getSymbolColor, getVolume, isRenderAsWireframe, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setRenderAsWireframe, setShader, setShaders, setTreatedAsInfinite
Methods inherited from class de.grogra.imp3d.objects.Null
getLocalTransformation, getTransform, getTranslation, isTransforming, postTransform, preTransform, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslation
Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupFrom, dupnew, 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, getIgnored, getIndex, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getResolution, 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, setIgnored, setLayer, setMark, setName, setResolution, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplace
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
-
Field Details
-
visible
public boolean visible -
Xbox
public double Xbox -
Ybox
public double Ybox -
Zbox
public double Zbox -
Xn
public int Xn -
Yn
public int Yn -
Zn
public int Zn -
voxboxes
-
sgmnt
public int sgmnt -
hitw
public int hitw -
hitfol
public int hitfol -
nohit
public int nohit -
hitself
public int hitself -
$TYPE
-
visible$FIELD
-
-
Constructor Details
-
VoxelSpaceNode
public VoxelSpaceNode()Default constructor. corner1=(0,0,0), corner2=(1,1,1) 5,5,5 number of VoxBoxes in x,y, and z direction -
VoxelSpaceNode
-
VoxelSpaceNode
-
-
Method Details
-
getInstantiator
- Overrides:
getInstantiator
in classNode
-
instantiate
- Specified by:
instantiate
in interfaceInstantiator<Instantiation>
-
getXbox
public double getXbox()- Specified by:
getXbox
in interfaceVoxelSpaceIF
-
getYbox
public double getYbox()- Specified by:
getYbox
in interfaceVoxelSpaceIF
-
getZbox
public double getZbox()- Specified by:
getZbox
in interfaceVoxelSpaceIF
-
incHitfol
public void incHitfol()- Specified by:
incHitfol
in interfaceVoxelSpaceIF
-
incNohit
public void incNohit()- Specified by:
incNohit
in interfaceVoxelSpaceIF
-
incHitself
public void incHitself()- Specified by:
incHitself
in interfaceVoxelSpaceIF
-
incHitw
public void incHitw()- Specified by:
incHitw
in interfaceVoxelSpaceIF
-
getK_b
public double getK_b()- Specified by:
getK_b
in interfaceVoxelSpaceIF
-
getXindex
public int getXindex(double local_xcoord) - Specified by:
getXindex
in interfaceVoxelSpaceIF
-
getYindex
public int getYindex(double local_ycoord) - Specified by:
getYindex
in interfaceVoxelSpaceIF
-
getZindex
public int getZindex(double local_zcoord) - Specified by:
getZindex
in interfaceVoxelSpaceIF
-
reset
public void reset()- Specified by:
reset
in interfaceVoxelSpaceIF
-
resetQinQabs
public void resetQinQabs()- Specified by:
resetQinQabs
in interfaceVoxelSpaceIF
-
resize
public void resize(int x, int y, int z) - Specified by:
resize
in interfaceVoxelSpaceIF
-
resize
public void resize(double lX, double lY, double lZ) - Specified by:
resize
in interfaceVoxelSpaceIF
-
resize
public void resize(double lX, double lY, double lZ, int nX, int nY, int nZ) - Specified by:
resize
in interfaceVoxelSpaceIF
-
resize
- Specified by:
resize
in interfaceVoxelSpaceIF
-
move
- Specified by:
move
in interfaceVoxelSpaceIF
-
getBookKeeper
- Specified by:
getBookKeeper
in interfaceVoxelSpaceIF
-
getForestDescriptor
- Specified by:
getForestDescriptor
in interfaceVoxelSpaceIF
-
getArea
public double getArea()- Specified by:
getArea
in interfaceVoxelSpaceIF
-
getLowerLeftCorner
- Specified by:
getLowerLeftCorner
in interfaceVoxelSpaceIF
-
getUpperRightCorner
- Specified by:
getUpperRightCorner
in interfaceVoxelSpaceIF
-
getNumberOfBoxes
public int getNumberOfBoxes()- Specified by:
getNumberOfBoxes
in interfaceVoxelSpaceIF
-
getNumberOfFilledBoxes
public int getNumberOfFilledBoxes()- Specified by:
getNumberOfFilledBoxes
in interfaceVoxelSpaceIF
-
getNumberOfTreeSegments
public int getNumberOfTreeSegments()- Specified by:
getNumberOfTreeSegments
in interfaceVoxelSpaceIF
-
getBoxVolume
public double getBoxVolume()- Specified by:
getBoxVolume
in interfaceVoxelSpaceIF
-
getXSideLength
public double getXSideLength()- Specified by:
getXSideLength
in interfaceVoxelSpaceIF
-
getYSideLength
public double getYSideLength()- Specified by:
getYSideLength
in interfaceVoxelSpaceIF
-
getZSideLength
public double getZSideLength()- Specified by:
getZSideLength
in interfaceVoxelSpaceIF
-
getQabs
public double getQabs()- Specified by:
getQabs
in interfaceVoxelSpaceIF
-
getQin
public double getQin()- Specified by:
getQin
in interfaceVoxelSpaceIF
-
getMinMaxNeedleMass
- Specified by:
getMinMaxNeedleMass
in interfaceVoxelSpaceIF
-
getFoliageMass
public double getFoliageMass()- Specified by:
getFoliageMass
in interfaceVoxelSpaceIF
-
getVoxelBox
- Specified by:
getVoxelBox
in interfaceVoxelSpaceIF
-
getBoxIndexes
- Specified by:
getBoxIndexes
in interfaceVoxelSpaceIF
-
getRoute
public Vector<VoxelMovement> getRoute(Vector<VoxelMovement> vec, int startx, int starty, int startz, PositionVector dir) - Specified by:
getRoute
in interfaceVoxelSpaceIF
-
getRoute
public Vector<VoxelMovement> getRoute(Vector<VoxelMovement> vec, Point3d p0, PositionVector dir, ParametricCurve K, boolean pairwise) - Specified by:
getRoute
in interfaceVoxelSpaceIF
-
getBorderStandExtinction
- Specified by:
getBorderStandExtinction
in interfaceVoxelSpaceIF
-
NearbyShading
public static double NearbyShading(Point3d out, PositionVector direction, double Htop, double Hbot, double LAIc, double LAIb) -
NearbyShading
public static double NearbyShading(Point3d out, PositionVector direction, double Htop, double Hbot, double LAIc, double LAIb, double k_conifer, double k_deciduous) -
updateBoxValues
public void updateBoxValues()- Specified by:
updateBoxValues
in interfaceVoxelSpaceIF
-
calculateTurbidLight
public double calculateTurbidLight()- Specified by:
calculateTurbidLight
in interfaceVoxelSpaceIF
-
calculateTurbidLight
public double calculateTurbidLight(boolean self_shading) - Specified by:
calculateTurbidLight
in interfaceVoxelSpaceIF
-
fillVoxelBoxes
public void fillVoxelBoxes(double needleA, double leafA) - Specified by:
fillVoxelBoxes
in interfaceVoxelSpaceIF
-
fillVoxelBoxes
public void fillVoxelBoxes(double inivalue, int beginZ, int endZ) - Specified by:
fillVoxelBoxes
in interfaceVoxelSpaceIF
-
FillVoxelBoxesWithNeedles
public void FillVoxelBoxesWithNeedles(double Sf, double Wf, double Rf, double L, int beginZ, int endZ) - Specified by:
FillVoxelBoxesWithNeedles
in interfaceVoxelSpaceIF
-
getMeanFoliageAreaDensity
public double getMeanFoliageAreaDensity()- Specified by:
getMeanFoliageAreaDensity
in interfaceVoxelSpaceIF
-
calculateMeanQabsQin
public void calculateMeanQabsQin()- Specified by:
calculateMeanQabsQin
in interfaceVoxelSpaceIF
-
getNeedleArea
public double getNeedleArea()- Specified by:
getNeedleArea
in interfaceVoxelSpaceIF
-
getLeafArea
public double getLeafArea()- Specified by:
getLeafArea
in interfaceVoxelSpaceIF
-
getFoliageArea
public double getFoliageArea()- Specified by:
getFoliageArea
in interfaceVoxelSpaceIF
-
evaluateVerticalNeedleAreaDensity
public void evaluateVerticalNeedleAreaDensity(double Hmax, double Hmin, int n, Vector<PairMinMax> NAD) - Specified by:
evaluateVerticalNeedleAreaDensity
in interfaceVoxelSpaceIF
-
DumpCfTree
-
getNTypeImpl
Description copied from class:Node
This method returns theNode.NType
which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
getNTypeImpl
in classNullWithShaderNode
- Returns:
- type describing the managed fields of the class of this node
-
newInstance
Description copied from class:Node
This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
newInstance
in classNullWithShaderNode
- Returns:
- new instance of class of this node
-
isVisible
public boolean isVisible() -
setVisible
public void setVisible(boolean value)
-