classDiagram
direction LR
class VolumeCalulationOptions {
string fiaCode
int region [something]
int forest
int district
int primaryProduct
int secondaryProduct
VolumeCalculationType volumeCalculationType - optional - defaults to FVS
AuxFlag auxFlag - optional
string ecoRegion - optional - fia only
}
class VolumeCalculationType {
<<Enumeration>>
FVS - default
FIA
CRUISE
VARIABLELOGLENGTH
}
class AuxFlag {
<<Enumeration>>
NONE,
R10YOUNGGROWTH,
R6DOUGFIR,
PLANTATION,
}
input types
VolumeCalulationOptions
classDiagram direction LR class VolumeCalulationOptions { string fiaCode int region [something] int forest int district int primaryProduct int secondaryProduct VolumeCalculationType volumeCalculationType - optional - defaults to FVS AuxFlag auxFlag - optional string ecoRegion - optional - fia only } class VolumeCalculationType { <<Enumeration>> FVS - default FIA CRUISE VARIABLELOGLENGTH } class AuxFlag { <<Enumeration>> NONE, R10YOUNGGROWTH, R6DOUGFIR, PLANTATION, }TreeMeasurments
classDiagram class TreeMeasurments { heights: real totalHeight real referenceHeight - aka 479, UpperstemHeight real merchHeightPrimary real merchHeightSecondary int merchHeightLogs - if zero feet else 8,16,32 real heightToFirstLiveLimb --- diameters: real DBH real DRC real referenceDiamater - aka UpperStemDiameter real doubleBarkThicknessAtBrestHeight --- other: int formClass int numberOfStems real crownRatio int cullPercent --- merch rule overrides: real stumpHeightOverride real minTopDibSawOverride real minTopDibNonSawOverride }MerchHeightLogs
Instead of using MerchHeightType we are now using MerchHeightLogs where if a value is provided as either 8, 16, 32 then implicitly the MerchHeight will be Logs, otherwise MerchHeights will be in Feet
MerchRules
classDiagram class MerchRules { int evenOdd - indicates logs round to 2ft segments int segmentationOption real maxLogLength real minLogLength real minLengthTop real minTopDibSaw real minTopDibNonSaw real minMerchLength real stumpHeight real trim real barkThicknessRatio real minimumBoardFootDiameter - maybe remove }output types
classDiagram TreeOutput-->LogOutput TreeOutput-->Biomass TreeOutput-->ErrorInfo class TreeOutput{ Log[] logs float merchHeight int totalLogs real totalCubic real grossBoardFootPrimary real grossBoardFootSecondary real grossCubicPrimary real grossCubicSecondary real cordPrimary real cordsSecondary real greenWeightPrimary real greenWeightSecondary real dryWeightPrimary real dryWeightSecondary Biomass greeBio Biomass dryBio real merchHeightPrimary real merchHeightSecondary ErrorInfo error } class ErrorInfo{ int errorCode string errorMessage } class Biomass { real aboveGroundTotal real branches real foliage real stemTip } class LogOutput { real smallEndDiaScaled real largeEndDiaScaled string product bool isSecondary? real length int logNumber real grossBoardFoot real grossCubicFoot real greenWeight real dryWeight real internationalBoardFoot real hieghtToLargeEndDiameter }