Cogs.Core
Public Attributes | Static Public Attributes | List of all members
Cogs::Core::PotreeData Struct Reference

Public Attributes

PotreeCellroot = nullptr
 
std::vector< PotreeNodeHeapItemlodHeap
 heap used while calculating lod levels
 
std::string jsonPath
 URL to metadata file.
 
std::string rootPath
 URL to folder containing metadata file.
 
std::string octreeDir
 1.x only: subdir with data
 
std::string suffix = ".bin"
 
Collections::SmallVector< PotreeAttributes, 4 > attributes
 
glm::vec4 clipPlanes [MaxClipPlanes]
 
size_t clipPlaneCount = 0
 
PotreeNotification potreeNotificationState = PotreeNotification::None
 Current notification state for this PoTree Component.
 
uint32_t requestsInFlight = 0U
 Number of outstanding data fetch requests.
 
struct {
   float   val = 1.f
 Current dpi-scaled and min-max clamped point-size. More...
 
   float   min = 1.f
 Current dpi-scaled minimum point-size. More...
 
   float   max = 1.f
 Current dpi-scaled maximum point-size. More...
 
pointSize
 
struct {
   glm::dvec3   positionInEntityFrame
 
   glm::vec3   currentPositionInEntityFrame
 
   glm::vec3   toBBoxShift
 
   glm::vec3   fullBBoxSize
 
   float   fullBBoxDiagonal
 
   glm::vec3   fullBBoxMin
 
   glm::vec3   fullBBoxMax
 
   glm::vec3   tightBBoxMin
 
   glm::vec3   tightBBoxMax
 
octtreeFrame
 
struct {
   glm::vec3   scale
 
   glm::vec3   shift
 
positionDecode
 
struct {
   glm::dvec3   bbmin
 
   glm::dvec3   bbmax
 
   glm::dvec3   tbmin = glm::vec3(0.f)
 
   glm::dvec3   tbmax = glm::vec3(0.f)
 
   glm::vec3   scale = glm::vec3(1.f)
 
   glm::dvec3   offset = glm::vec3(0.f)
 
metadata
 
struct {
   float   scale = 25.5f
 
   float   bias = 10.f
 
   float   levelScale = 1.f
 
densitySized
 
PotreeOriginPolicy originPolicy = PotreeOriginPolicy::None
 
PotreeEnconding encoding = PotreeEnconding::Default
 
uint32_t firstChunkSize = 0
 
uint32_t hierarchyStepSize = 0
 
uint32_t hierarchyDepth = 0
 
float spacing = 1.f
 
float modelSpaceRadius = 1.f
 
float tolerance = std::numeric_limits<float>::infinity()
 
float rootTolerance = std::numeric_limits<float>::infinity()
 
unsigned versionMajor = 0
 
unsigned versionMinor = 0
 
bool hasColor = false
 
bool hasNormal = false
 
bool hasIntensity = false
 
bool hasClassification = false
 
bool supportPicking = true
 
PotreeState state = PotreeState::Uninitialized
 
DataFetcherManager::FetchId fetch_id = DataFetcherManager::NoFetchId
 
PotreeVertexLayout layout = PotreeVertexLayout::COUNT
 
MeshStreamsLayout streamsLayout
 
Cogs::BufferHandle pointParametersBuffer
 
Cogs::TextureHandle octtreeTexture
 
Memory::TypedBuffer< glm::u8vec4 > octtreeTextureData
 
uint32_t instanceId = 0
 
PotreeDebugBoxes debugBoxes = PotreeDebugBoxes::None
 
glm::mat4 worldFromOcttreeFrame
 
List< PotreeSubtree, offsetof(PotreeSubtree, member)> subtrees
 
List< PotreeCell, offsetof(PotreeCell, activeNode)> activeCells
 
Memory::MemoryBuffer tmpVertexData
 
Memory::TypedBuffer< PotreeCell * > tmpCellPointers
 
std::vector< uint8_t > occupancyTmpData
 
Collections::Pool< PotreeCellcellStore
 
Collections::Pool< PotreeSubtreesubtreeStore
 
struct {
   MaterialInstanceHandle   instance
 
   VariableKey   scale = NoProperty
 
   VariableKey   offset = NoProperty
 
boxMaterial
 
struct {
   MaterialInstanceHandle   instance
 
   VariableKey   pointSize = NoProperty
 
   VariableKey   shadingIntensity = NoProperty
 
   VariableKey   octTexScale = NoProperty
 
   VariableKey   minPointSize = NoProperty
 
   VariableKey   maxPointSize = NoProperty
 
   VariableKey   baseColor = NoProperty
 
   VariableKey   outlineColor = NoProperty
 
   VariableKey   outlineSize = NoProperty
 
   VariableKey   invShift = NoProperty
 
   VariableKey   invScale = NoProperty
 
   VariableKey   gradient = NoProperty
 
pointMaterial
 
glm::mat4 frustum
 
glm::dvec3 boundsMin = glm::dvec3(std::numeric_limits<double>::max())
 
glm::dvec3 boundsMax = glm::dvec3(-std::numeric_limits<double>::max())
 

Static Public Attributes

static constexpr size_t MaxClipPlanes = 6u
 Max available in shader.
 
static constexpr size_t occupancyGridDim = 32
 

Detailed Description

Definition at line 206 of file PotreeSystem.h.

Member Data Documentation

◆ activeCells

List<PotreeCell, offsetof(PotreeCell, activeNode)> Cogs::Core::PotreeData::activeCells

Definition at line 322 of file PotreeSystem.h.

◆ attributes

Collections::SmallVector<PotreeAttributes, 4> Cogs::Core::PotreeData::attributes

Definition at line 215 of file PotreeSystem.h.

◆ baseColor

VariableKey Cogs::Core::PotreeData::baseColor = NoProperty

Definition at line 346 of file PotreeSystem.h.

◆ bbmax

glm::dvec3 Cogs::Core::PotreeData::bbmax

Definition at line 256 of file PotreeSystem.h.

◆ bbmin

glm::dvec3 Cogs::Core::PotreeData::bbmin

Definition at line 256 of file PotreeSystem.h.

◆ bias

float Cogs::Core::PotreeData::bias = 10.f

Definition at line 276 of file PotreeSystem.h.

◆ boundsMax

glm::dvec3 Cogs::Core::PotreeData::boundsMax = glm::dvec3(-std::numeric_limits<double>::max())

Definition at line 357 of file PotreeSystem.h.

◆ boundsMin

glm::dvec3 Cogs::Core::PotreeData::boundsMin = glm::dvec3(std::numeric_limits<double>::max())

Definition at line 356 of file PotreeSystem.h.

◆ cellStore

Collections::Pool<PotreeCell> Cogs::Core::PotreeData::cellStore

Definition at line 330 of file PotreeSystem.h.

◆ clipPlaneCount

size_t Cogs::Core::PotreeData::clipPlaneCount = 0

Definition at line 218 of file PotreeSystem.h.

◆ clipPlanes

glm::vec4 Cogs::Core::PotreeData::clipPlanes[MaxClipPlanes]

Definition at line 217 of file PotreeSystem.h.

◆ currentPositionInEntityFrame

glm::vec3 Cogs::Core::PotreeData::currentPositionInEntityFrame

Definition at line 235 of file PotreeSystem.h.

◆ debugBoxes

PotreeDebugBoxes Cogs::Core::PotreeData::debugBoxes = PotreeDebugBoxes::None

Definition at line 314 of file PotreeSystem.h.

◆ encoding

PotreeEnconding Cogs::Core::PotreeData::encoding = PotreeEnconding::Default

Definition at line 281 of file PotreeSystem.h.

◆ fetch_id

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

Definition at line 303 of file PotreeSystem.h.

◆ firstChunkSize

uint32_t Cogs::Core::PotreeData::firstChunkSize = 0

Definition at line 282 of file PotreeSystem.h.

◆ frustum

glm::mat4 Cogs::Core::PotreeData::frustum

Definition at line 354 of file PotreeSystem.h.

◆ fullBBoxDiagonal

float Cogs::Core::PotreeData::fullBBoxDiagonal

Definition at line 239 of file PotreeSystem.h.

◆ fullBBoxMax

glm::vec3 Cogs::Core::PotreeData::fullBBoxMax

Definition at line 242 of file PotreeSystem.h.

◆ fullBBoxMin

glm::vec3 Cogs::Core::PotreeData::fullBBoxMin

Definition at line 241 of file PotreeSystem.h.

◆ fullBBoxSize

glm::vec3 Cogs::Core::PotreeData::fullBBoxSize

Definition at line 238 of file PotreeSystem.h.

◆ gradient

VariableKey Cogs::Core::PotreeData::gradient = NoProperty

Definition at line 351 of file PotreeSystem.h.

◆ hasClassification

bool Cogs::Core::PotreeData::hasClassification = false

Definition at line 298 of file PotreeSystem.h.

◆ hasColor

bool Cogs::Core::PotreeData::hasColor = false

Definition at line 295 of file PotreeSystem.h.

◆ hasIntensity

bool Cogs::Core::PotreeData::hasIntensity = false

Definition at line 297 of file PotreeSystem.h.

◆ hasNormal

bool Cogs::Core::PotreeData::hasNormal = false

Definition at line 296 of file PotreeSystem.h.

◆ hierarchyDepth

uint32_t Cogs::Core::PotreeData::hierarchyDepth = 0

Definition at line 284 of file PotreeSystem.h.

◆ hierarchyStepSize

uint32_t Cogs::Core::PotreeData::hierarchyStepSize = 0

Definition at line 283 of file PotreeSystem.h.

◆ instance

MaterialInstanceHandle Cogs::Core::PotreeData::instance

Definition at line 334 of file PotreeSystem.h.

◆ instanceId

uint32_t Cogs::Core::PotreeData::instanceId = 0

Definition at line 313 of file PotreeSystem.h.

◆ invScale

VariableKey Cogs::Core::PotreeData::invScale = NoProperty

Definition at line 350 of file PotreeSystem.h.

◆ invShift

VariableKey Cogs::Core::PotreeData::invShift = NoProperty

Definition at line 349 of file PotreeSystem.h.

◆ jsonPath

std::string Cogs::Core::PotreeData::jsonPath

URL to metadata file.

Definition at line 211 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::update().

◆ layout

PotreeVertexLayout Cogs::Core::PotreeData::layout = PotreeVertexLayout::COUNT

Definition at line 304 of file PotreeSystem.h.

◆ levelScale

float Cogs::Core::PotreeData::levelScale = 1.f

Definition at line 277 of file PotreeSystem.h.

◆ lodHeap

std::vector<PotreeNodeHeapItem> Cogs::Core::PotreeData::lodHeap

heap used while calculating lod levels

Definition at line 209 of file PotreeSystem.h.

◆ max

float Cogs::Core::PotreeData::max = 1.f

Current dpi-scaled maximum point-size.

Definition at line 229 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::update().

◆ MaxClipPlanes

constexpr size_t Cogs::Core::PotreeData::MaxClipPlanes = 6u
staticconstexpr

Max available in shader.

Definition at line 216 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::update().

◆ maxPointSize

VariableKey Cogs::Core::PotreeData::maxPointSize = NoProperty

Definition at line 345 of file PotreeSystem.h.

◆ min

float Cogs::Core::PotreeData::min = 1.f

Current dpi-scaled minimum point-size.

Definition at line 228 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::update().

◆ minPointSize

VariableKey Cogs::Core::PotreeData::minPointSize = NoProperty

Definition at line 344 of file PotreeSystem.h.

◆ modelSpaceRadius

float Cogs::Core::PotreeData::modelSpaceRadius = 1.f

Definition at line 288 of file PotreeSystem.h.

◆ occupancyGridDim

constexpr size_t Cogs::Core::PotreeData::occupancyGridDim = 32
staticconstexpr

Definition at line 327 of file PotreeSystem.h.

◆ occupancyTmpData

std::vector<uint8_t> Cogs::Core::PotreeData::occupancyTmpData

Definition at line 328 of file PotreeSystem.h.

◆ octreeDir

std::string Cogs::Core::PotreeData::octreeDir

1.x only: subdir with data

Definition at line 213 of file PotreeSystem.h.

◆ octTexScale

VariableKey Cogs::Core::PotreeData::octTexScale = NoProperty

Definition at line 343 of file PotreeSystem.h.

◆ octtreeTexture

Cogs::TextureHandle Cogs::Core::PotreeData::octtreeTexture

Definition at line 310 of file PotreeSystem.h.

◆ octtreeTextureData

Memory::TypedBuffer<glm::u8vec4> Cogs::Core::PotreeData::octtreeTextureData

Definition at line 311 of file PotreeSystem.h.

◆ offset [1/2]

glm::dvec3 Cogs::Core::PotreeData::offset = glm::vec3(0.f)

Definition at line 269 of file PotreeSystem.h.

◆ offset [2/2]

VariableKey Cogs::Core::PotreeData::offset = NoProperty

Definition at line 336 of file PotreeSystem.h.

◆ originPolicy

PotreeOriginPolicy Cogs::Core::PotreeData::originPolicy = PotreeOriginPolicy::None

Definition at line 280 of file PotreeSystem.h.

◆ outlineColor

VariableKey Cogs::Core::PotreeData::outlineColor = NoProperty

Definition at line 347 of file PotreeSystem.h.

◆ outlineSize

VariableKey Cogs::Core::PotreeData::outlineSize = NoProperty

Definition at line 348 of file PotreeSystem.h.

◆ pointParametersBuffer

Cogs::BufferHandle Cogs::Core::PotreeData::pointParametersBuffer

Definition at line 308 of file PotreeSystem.h.

◆ pointSize

VariableKey Cogs::Core::PotreeData::pointSize = NoProperty

Definition at line 341 of file PotreeSystem.h.

◆ positionInEntityFrame

glm::dvec3 Cogs::Core::PotreeData::positionInEntityFrame

Definition at line 234 of file PotreeSystem.h.

◆ potreeNotificationState

PotreeNotification Cogs::Core::PotreeData::potreeNotificationState = PotreeNotification::None

Current notification state for this PoTree Component.

Definition at line 221 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::endFetch(), and Cogs::Core::PotreeSystem::startFetch().

◆ requestsInFlight

uint32_t Cogs::Core::PotreeData::requestsInFlight = 0U

Number of outstanding data fetch requests.

Definition at line 224 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::endFetch(), and Cogs::Core::PotreeSystem::startFetch().

◆ root

PotreeCell* Cogs::Core::PotreeData::root = nullptr

Definition at line 207 of file PotreeSystem.h.

◆ rootPath

std::string Cogs::Core::PotreeData::rootPath

URL to folder containing metadata file.

Definition at line 212 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::update().

◆ rootTolerance

float Cogs::Core::PotreeData::rootTolerance = std::numeric_limits<float>::infinity()

Definition at line 290 of file PotreeSystem.h.

◆ scale [1/3]

glm::vec3 Cogs::Core::PotreeData::scale = glm::vec3(1.f)

Definition at line 250 of file PotreeSystem.h.

◆ scale [2/3]

float Cogs::Core::PotreeData::scale = 25.5f

Definition at line 275 of file PotreeSystem.h.

◆ scale [3/3]

VariableKey Cogs::Core::PotreeData::scale = NoProperty

Definition at line 335 of file PotreeSystem.h.

◆ shadingIntensity

VariableKey Cogs::Core::PotreeData::shadingIntensity = NoProperty

Definition at line 342 of file PotreeSystem.h.

◆ shift

glm::vec3 Cogs::Core::PotreeData::shift

Definition at line 251 of file PotreeSystem.h.

◆ spacing

float Cogs::Core::PotreeData::spacing = 1.f

Definition at line 286 of file PotreeSystem.h.

◆ state

PotreeState Cogs::Core::PotreeData::state = PotreeState::Uninitialized

Definition at line 302 of file PotreeSystem.h.

◆ streamsLayout

MeshStreamsLayout Cogs::Core::PotreeData::streamsLayout

Definition at line 306 of file PotreeSystem.h.

◆ subtrees

List<PotreeSubtree, offsetof(PotreeSubtree, member)> Cogs::Core::PotreeData::subtrees

Definition at line 319 of file PotreeSystem.h.

◆ subtreeStore

Collections::Pool<PotreeSubtree> Cogs::Core::PotreeData::subtreeStore

Definition at line 331 of file PotreeSystem.h.

◆ suffix

std::string Cogs::Core::PotreeData::suffix = ".bin"

Definition at line 214 of file PotreeSystem.h.

◆ supportPicking

bool Cogs::Core::PotreeData::supportPicking = true

Definition at line 300 of file PotreeSystem.h.

◆ tbmax

glm::dvec3 Cogs::Core::PotreeData::tbmax = glm::vec3(0.f)

Definition at line 262 of file PotreeSystem.h.

◆ tbmin

glm::dvec3 Cogs::Core::PotreeData::tbmin = glm::vec3(0.f)

Definition at line 261 of file PotreeSystem.h.

◆ tightBBoxMax

glm::vec3 Cogs::Core::PotreeData::tightBBoxMax

Definition at line 245 of file PotreeSystem.h.

◆ tightBBoxMin

glm::vec3 Cogs::Core::PotreeData::tightBBoxMin

Definition at line 244 of file PotreeSystem.h.

◆ tmpCellPointers

Memory::TypedBuffer<PotreeCell*> Cogs::Core::PotreeData::tmpCellPointers

Definition at line 325 of file PotreeSystem.h.

◆ tmpVertexData

Memory::MemoryBuffer Cogs::Core::PotreeData::tmpVertexData

Definition at line 324 of file PotreeSystem.h.

◆ toBBoxShift

glm::vec3 Cogs::Core::PotreeData::toBBoxShift

Definition at line 237 of file PotreeSystem.h.

◆ tolerance

float Cogs::Core::PotreeData::tolerance = std::numeric_limits<float>::infinity()

Definition at line 289 of file PotreeSystem.h.

◆ val

float Cogs::Core::PotreeData::val = 1.f

Current dpi-scaled and min-max clamped point-size.

Definition at line 227 of file PotreeSystem.h.

Referenced by Cogs::Core::PotreeSystem::update().

◆ versionMajor

unsigned Cogs::Core::PotreeData::versionMajor = 0

Definition at line 292 of file PotreeSystem.h.

◆ versionMinor

unsigned Cogs::Core::PotreeData::versionMinor = 0

Definition at line 293 of file PotreeSystem.h.

◆ worldFromOcttreeFrame

glm::mat4 Cogs::Core::PotreeData::worldFromOcttreeFrame

Definition at line 316 of file PotreeSystem.h.


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