Cogs.Core
Public Types | Public Member Functions | Public Attributes | List of all members
Cogs::Core::PotreeCell Struct Reference

Public Types

enum struct  Kind : uint8_t { RegularNode , SubtreeLink }
 
enum struct  State : uint8_t { None , Issued , Ready , Failed }
 
enum struct  Flags : uint8_t { None = 0 , Active = 1 << 0 }
 

Public Member Functions

bool isRootNode () const
 
bool isActive () const
 
void setActive ()
 
void setInactive ()
 
void appendDescendSteps (std::string &path) const
 
void fetchData (Context *context, PotreeSystem *poSystem, const PotreeComponent *poComp, PotreeData *poData)
 
void releaseData (Context *context, PotreeData *poData)
 

Public Attributes

uint64_t byteOffset = 0
 
uint64_t byteCount = 0
 
ListNode subtreeNode
 
ListNode activeNode
 
ListNode tmpNode
 
PotreeSubtreeowningSubtree = nullptr
 
union {
   PotreeCell *   children [8]
 
   PotreeSubtree *   linkedSubtree
 
}; 
 
Cogs::BufferHandle boxParametersBuffer
 
VertexBufferHandle pointData
 
Memory::TypedBuffer< glm::vec3 > points
 
glm::vec3 tbmin
 
glm::vec3 tbmax
 
uint32_t hierarchyNumPoints = 0
 
uint32_t pointCount = 0
 
uint32_t prefix = 0
 
uint16_t texOffset = static_cast<uint16_t>(~0u)
 
uint8_t i = 0
 
uint8_t j = 0
 
uint8_t k = 0
 
uint8_t l = 0
 
uint8_t scaleFactor = 100
 
enum Cogs::Core::PotreeCell::Kind kind = Kind::RegularNode
 
enum Cogs::Core::PotreeCell::State state = State::None
 
enum Cogs::Core::PotreeCell::Flags flags = Flags::None
 
DataFetcherManager::FetchId fetch_id = DataFetcherManager::NoFetchId
 

Detailed Description

Definition at line 109 of file PotreeSystem.h.

Member Enumeration Documentation

◆ Flags

enum struct Cogs::Core::PotreeCell::Flags : uint8_t
strong

Definition at line 151 of file PotreeSystem.h.

◆ Kind

enum struct Cogs::Core::PotreeCell::Kind : uint8_t
strong

Definition at line 139 of file PotreeSystem.h.

◆ State

enum struct Cogs::Core::PotreeCell::State : uint8_t
strong

Definition at line 144 of file PotreeSystem.h.

Member Function Documentation

◆ appendDescendSteps()

void Cogs::Core::PotreeCell::appendDescendSteps ( std::string &  path) const

Definition at line 18 of file PotreeCell.cpp.

◆ fetchData()

void Cogs::Core::PotreeCell::fetchData ( Context context,
PotreeSystem poSystem,
const PotreeComponent poComp,
PotreeData poData 
)

Definition at line 27 of file PotreeCell.cpp.

◆ isActive()

bool Cogs::Core::PotreeCell::isActive ( ) const
inline

Definition at line 159 of file PotreeSystem.h.

◆ isRootNode()

bool Cogs::Core::PotreeCell::isRootNode ( ) const
inline

Definition at line 198 of file PotreeSystem.h.

◆ releaseData()

void Cogs::Core::PotreeCell::releaseData ( Context context,
PotreeData poData 
)

Definition at line 200 of file PotreeCell.cpp.

◆ setActive()

void Cogs::Core::PotreeCell::setActive ( )
inline

Definition at line 160 of file PotreeSystem.h.

◆ setInactive()

void Cogs::Core::PotreeCell::setInactive ( )
inline

Definition at line 161 of file PotreeSystem.h.

Member Data Documentation

◆ activeNode

ListNode Cogs::Core::PotreeCell::activeNode

Definition at line 114 of file PotreeSystem.h.

◆ boxParametersBuffer

Cogs::BufferHandle Cogs::Core::PotreeCell::boxParametersBuffer

Definition at line 122 of file PotreeSystem.h.

◆ byteCount

uint64_t Cogs::Core::PotreeCell::byteCount = 0

Definition at line 112 of file PotreeSystem.h.

◆ byteOffset

uint64_t Cogs::Core::PotreeCell::byteOffset = 0

Definition at line 111 of file PotreeSystem.h.

◆ children

PotreeCell* Cogs::Core::PotreeCell::children[8]

Definition at line 118 of file PotreeSystem.h.

◆ fetch_id

DataFetcherManager::FetchId Cogs::Core::PotreeCell::fetch_id = DataFetcherManager::NoFetchId

Definition at line 156 of file PotreeSystem.h.

◆ hierarchyNumPoints

uint32_t Cogs::Core::PotreeCell::hierarchyNumPoints = 0

Definition at line 128 of file PotreeSystem.h.

◆ i

uint8_t Cogs::Core::PotreeCell::i = 0

Definition at line 132 of file PotreeSystem.h.

◆ j

uint8_t Cogs::Core::PotreeCell::j = 0

Definition at line 133 of file PotreeSystem.h.

◆ k

uint8_t Cogs::Core::PotreeCell::k = 0

Definition at line 134 of file PotreeSystem.h.

◆ l

uint8_t Cogs::Core::PotreeCell::l = 0

Definition at line 135 of file PotreeSystem.h.

◆ linkedSubtree

PotreeSubtree* Cogs::Core::PotreeCell::linkedSubtree

Definition at line 119 of file PotreeSystem.h.

◆ owningSubtree

PotreeSubtree* Cogs::Core::PotreeCell::owningSubtree = nullptr

Definition at line 116 of file PotreeSystem.h.

◆ pointCount

uint32_t Cogs::Core::PotreeCell::pointCount = 0

Definition at line 129 of file PotreeSystem.h.

◆ pointData

VertexBufferHandle Cogs::Core::PotreeCell::pointData

Definition at line 123 of file PotreeSystem.h.

◆ points

Memory::TypedBuffer<glm::vec3> Cogs::Core::PotreeCell::points

Definition at line 124 of file PotreeSystem.h.

◆ prefix

uint32_t Cogs::Core::PotreeCell::prefix = 0

Definition at line 130 of file PotreeSystem.h.

◆ scaleFactor

uint8_t Cogs::Core::PotreeCell::scaleFactor = 100

Definition at line 136 of file PotreeSystem.h.

◆ subtreeNode

ListNode Cogs::Core::PotreeCell::subtreeNode

Definition at line 113 of file PotreeSystem.h.

◆ tbmax

glm::vec3 Cogs::Core::PotreeCell::tbmax

Definition at line 126 of file PotreeSystem.h.

◆ tbmin

glm::vec3 Cogs::Core::PotreeCell::tbmin

Definition at line 126 of file PotreeSystem.h.

◆ texOffset

uint16_t Cogs::Core::PotreeCell::texOffset = static_cast<uint16_t>(~0u)

Definition at line 131 of file PotreeSystem.h.

◆ tmpNode

ListNode Cogs::Core::PotreeCell::tmpNode

Definition at line 115 of file PotreeSystem.h.


The documentation for this struct was generated from the following files: