58 return m_GeneratorDesc;
70 virtual void UpdateMemoryUsage(
MemoryUsage& out_NewMemoryUsage)
override;
76 struct BranchNodeExtraData
78 float m_fSegmentLength = 0.0f;
79 float m_fDistanceAlongBranch = 0.0f;
80 float m_fBendinessAlongBranch = 0.0f;
83 struct BranchExtraData
85 plInt32 m_iParentBranch = -1;
86 plUInt16 m_uiParentBranchNodeID = 0;
87 plUInt8 m_uiBranchLevel = 0;
89 float m_fDistanceToAnchor = 0;
90 float m_fBendinessToAnchor = 0;
91 plUInt32 m_uiRandomNumber = 0;
94 struct TreeStructureExtraData
101 void InitializeExtraData(TreeStructureExtraData& extraData,
const Kraut::TreeStructure& treeStructure, plUInt32 uiRandomSeed)
const;
102 void ComputeDistancesAlongBranches(TreeStructureExtraData& extraData,
const Kraut::TreeStructure& treeStructure)
const;
103 void ComputeDistancesToAnchors(TreeStructureExtraData& extraData,
const Kraut::TreeStructure& treeStructure)
const;
104 void ComputeBendinessAlongBranches(TreeStructureExtraData& extraData,
const Kraut::TreeStructure& treeStructure,
float fWoodBendiness,
float fTwigBendiness)
const;
105 void ComputeBendinessToAnchors(TreeStructureExtraData& extraData,
const Kraut::TreeStructure& treeStructure)
const;
106 void GenerateExtraData(TreeStructureExtraData& treeStructureExtraData,
const Kraut::TreeStructureDesc& treeStructureDesc,
const Kraut::TreeStructure& treeStructure, plUInt32 uiRandomSeed,
float fWoodBendiness,
float fTwigBendiness)
const;