de.grogra.lignum.stlVoxelspace
public class VoxelSpace extends java.lang.Object implements Mathsym, VoxelSpaceIF
| Modifier and Type | Field and Description |
|---|---|
int |
hitfol |
int |
hitself |
int |
hitw |
int |
nohit |
int |
sgmnt |
VoxelBox[][][] |
voxboxes |
double |
Xbox |
int |
Xn |
double |
Ybox |
int |
Yn |
double |
Zbox |
int |
Zn |
HIT_THE_FOLIAGE, HIT_THE_WOOD, NO_HIT, PI_DIV_2, R_EPSILON, R_HUGE| Constructor and Description |
|---|
VoxelSpace(Point3d c1,
Point3d c2,
double xsize,
double ysize,
double zsize,
int xn,
int yn,
int zn,
Firmament f,
double kb) |
VoxelSpace(Point3d c1,
Point3d c2,
int xn,
int yn,
int zn,
Firmament f) |
| Modifier and Type | Method and Description |
|---|---|
void |
calculateMeanQabsQin() |
double |
calculateTurbidLight() |
double |
calculateTurbidLight(boolean self_shading) |
void |
DumpCfTree(VoxelSpace s,
Tree tree,
int num_parts,
boolean wood) |
void |
evaluateVerticalNeedleAreaDensity(double Hmax,
double Hmin,
int n,
java.util.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() |
VOBookKeeper |
getBookKeeper() |
double |
getBorderStandExtinction(Point3d p0,
PositionVector dir) |
java.util.Vector<java.lang.Integer> |
getBoxIndexes(Point3d p) |
double |
getBoxVolume() |
double |
getFoliageArea() |
double |
getFoliageMass() |
ForestDescriptor |
getForestDescriptor() |
double |
getK_b() |
double |
getLeafArea() |
Point3d |
getLowerLeftCorner() |
double |
getMeanFoliageAreaDensity() |
PairMinMax |
getMinMaxNeedleMass() |
double |
getNeedleArea() |
int |
getNumberOfBoxes() |
int |
getNumberOfFilledBoxes() |
int |
getNumberOfTreeSegments() |
double |
getQabs() |
double |
getQin() |
java.util.Vector<VoxelMovement> |
getRoute(java.util.Vector<VoxelMovement> vec,
int startx,
int starty,
int startz,
PositionVector dir) |
java.util.Vector<VoxelMovement> |
getRoute(java.util.Vector<VoxelMovement> vec,
Point3d p0,
PositionVector dir,
ParametricCurve K,
boolean pairwise) |
Point3d |
getUpperRightCorner() |
VoxelBox |
getVoxelBox(Point3d p) |
double |
getXbox() |
int |
getXindex(double local_xcoord) |
double |
getXSideLength() |
double |
getYbox() |
int |
getYindex(double local_ycoord) |
double |
getYSideLength() |
double |
getZbox() |
int |
getZindex(double local_zcoord) |
double |
getZSideLength() |
void |
incHitfol() |
void |
incHitself() |
void |
incHitw() |
void |
incNohit() |
void |
move(Point3d corner) |
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) |
void |
reset() |
void |
resetQinQabs() |
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 |
resize(Point3d lower_left,
Point3d upper_right) |
void |
updateBoxValues() |
public int hitfol
public int hitself
public int hitw
public int nohit
public int sgmnt
public VoxelBox[][][] voxboxes
public double Xbox
public int Xn
public double Ybox
public int Yn
public double Zbox
public int Zn
public VoxelSpace(Point3d c1, Point3d c2, double xsize, double ysize, double zsize, int xn, int yn, int zn, Firmament f, double kb)
public void calculateMeanQabsQin()
calculateMeanQabsQin in interface VoxelSpaceIFpublic double calculateTurbidLight()
calculateTurbidLight in interface VoxelSpaceIFpublic double calculateTurbidLight(boolean self_shading)
calculateTurbidLight in interface VoxelSpaceIFpublic void DumpCfTree(VoxelSpace s, Tree tree, int num_parts, boolean wood)
public void evaluateVerticalNeedleAreaDensity(double Hmax,
double Hmin,
int n,
java.util.Vector<PairMinMax> NAD)
evaluateVerticalNeedleAreaDensity in interface VoxelSpaceIFpublic void fillVoxelBoxes(double needleA,
double leafA)
fillVoxelBoxes in interface VoxelSpaceIFpublic void fillVoxelBoxes(double inivalue,
int beginZ,
int endZ)
fillVoxelBoxes in interface VoxelSpaceIFpublic void FillVoxelBoxesWithNeedles(double Sf,
double Wf,
double Rf,
double L,
int beginZ,
int endZ)
FillVoxelBoxesWithNeedles in interface VoxelSpaceIFpublic double getArea()
getArea in interface VoxelSpaceIFpublic VOBookKeeper getBookKeeper()
getBookKeeper in interface VoxelSpaceIFpublic double getBorderStandExtinction(Point3d p0, PositionVector dir)
getBorderStandExtinction in interface VoxelSpaceIFpublic java.util.Vector<java.lang.Integer> getBoxIndexes(Point3d p)
getBoxIndexes in interface VoxelSpaceIFpublic double getBoxVolume()
getBoxVolume in interface VoxelSpaceIFpublic double getFoliageArea()
getFoliageArea in interface VoxelSpaceIFpublic double getFoliageMass()
getFoliageMass in interface VoxelSpaceIFpublic ForestDescriptor getForestDescriptor()
getForestDescriptor in interface VoxelSpaceIFpublic double getK_b()
getK_b in interface VoxelSpaceIFpublic double getLeafArea()
getLeafArea in interface VoxelSpaceIFpublic Point3d getLowerLeftCorner()
getLowerLeftCorner in interface VoxelSpaceIFpublic double getMeanFoliageAreaDensity()
getMeanFoliageAreaDensity in interface VoxelSpaceIFpublic PairMinMax getMinMaxNeedleMass()
getMinMaxNeedleMass in interface VoxelSpaceIFpublic double getNeedleArea()
getNeedleArea in interface VoxelSpaceIFpublic int getNumberOfBoxes()
getNumberOfBoxes in interface VoxelSpaceIFpublic int getNumberOfFilledBoxes()
getNumberOfFilledBoxes in interface VoxelSpaceIFpublic int getNumberOfTreeSegments()
getNumberOfTreeSegments in interface VoxelSpaceIFpublic double getQabs()
getQabs in interface VoxelSpaceIFpublic double getQin()
getQin in interface VoxelSpaceIFpublic java.util.Vector<VoxelMovement> getRoute(java.util.Vector<VoxelMovement> vec, int startx, int starty, int startz, PositionVector dir)
getRoute in interface VoxelSpaceIFpublic java.util.Vector<VoxelMovement> getRoute(java.util.Vector<VoxelMovement> vec, Point3d p0, PositionVector dir, ParametricCurve K, boolean pairwise)
getRoute in interface VoxelSpaceIFpublic Point3d getUpperRightCorner()
getUpperRightCorner in interface VoxelSpaceIFpublic VoxelBox getVoxelBox(Point3d p)
getVoxelBox in interface VoxelSpaceIFpublic double getXbox()
getXbox in interface VoxelSpaceIFpublic int getXindex(double local_xcoord)
getXindex in interface VoxelSpaceIFpublic double getXSideLength()
getXSideLength in interface VoxelSpaceIFpublic double getYbox()
getYbox in interface VoxelSpaceIFpublic int getYindex(double local_ycoord)
getYindex in interface VoxelSpaceIFpublic double getYSideLength()
getYSideLength in interface VoxelSpaceIFpublic double getZbox()
getZbox in interface VoxelSpaceIFpublic int getZindex(double local_zcoord)
getZindex in interface VoxelSpaceIFpublic double getZSideLength()
getZSideLength in interface VoxelSpaceIFpublic void incHitfol()
incHitfol in interface VoxelSpaceIFpublic void incHitself()
incHitself in interface VoxelSpaceIFpublic void incHitw()
incHitw in interface VoxelSpaceIFpublic void incNohit()
incNohit in interface VoxelSpaceIFpublic void move(Point3d corner)
move in interface VoxelSpaceIFpublic static double NearbyShading(Point3d out, PositionVector direction, double Htop, double Hbot, double LAIc, double LAIb)
public static double NearbyShading(Point3d out, PositionVector direction, double Htop, double Hbot, double LAIc, double LAIb, double k_conifer, double k_deciduous)
public void reset()
reset in interface VoxelSpaceIFpublic void resetQinQabs()
resetQinQabs in interface VoxelSpaceIFpublic void resize(double lX,
double lY,
double lZ)
resize in interface VoxelSpaceIFpublic void resize(double lX,
double lY,
double lZ,
int nX,
int nY,
int nZ)
resize in interface VoxelSpaceIFpublic void resize(int x,
int y,
int z)
resize in interface VoxelSpaceIFpublic void resize(Point3d lower_left, Point3d upper_right)
resize in interface VoxelSpaceIFpublic void updateBoxValues()
updateBoxValues in interface VoxelSpaceIF