Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten API 3.10 Documentation
Results will update as you type.
  • class Geo GeoSingleton
  • class Geo GeoSpatialHash
  • class Geo GeoString
  • class Geo GeoTimer
  • class Geo GeoTokenList
  • class Geo GeoTokenStream
  • class Geo GeoTriangle
  • class Geo GeoTriple
  • class Geo GeoUniqueDelegatePtr
  • class Geo GeoUniquePtr
  • class Geo GeoUniqueReleasePtr
  • class Geo GeoV128Texture
  • class Geo GeoVariant
  • class Geo GeoVirtualPageAllocator
  • class Geo GeoZLibFileStream
  • class Geo GoodRNG
  • class Geo IdentDataCompare
  • class Geo IdentVertLinkBuilder
  • class Geo IdxLink
  • class Geo IffReader
  • class Geo IffTextWriter
  • class Geo IffWriter
  • class Geo IGeoEvent
  • class Geo IGeoInputStream
  • class Geo IGeoProgressProxy
  • class Geo IGeoRayTracingContext
  • class Geo IGeoReleasable
  • class Geo IGeoSerialisable
  • class Geo IGeoStream
  • class Geo IRtMesh
  • class Geo ITerminalCmdHandler
  • class Geo ITerminalDelegate
  • class Geo ITerminalInputHandler
  • class Geo ITerminalOutputHandler
  • class Geo Matrix
  • class Geo MemoryAllocator
  • class Geo NonCopyable
  • class Geo Optional
  • class Geo PackedInteger4
  • class Geo PointLeaf
  • class Geo PointSplit
  • class Geo PointSplitBounds
  • class Geo PointSplitState
  • class Geo QuickTaskTimer
  • class Geo RayResult
  • class Geo Releasable
  • class Geo RingBuffer
  • class Geo RtMesh
  • class Geo RtMeshGroup
  • class Geo ScopedTickCounter
  • class Geo ScopedTimer
  • class Geo SHCoeff
  • class Geo SimpleRNG
  • class Geo TerminalProvider
  • class Geo TextureWriter
  • class Geo TreeNode
  • class Geo TriGroupSelection
  • class Geo TxtProgressBar
  • namespace Geo Iff
  • namespace Geo PathUtils
  • namespace Geo Version
  • struct Geo ArrayRange
  • struct Geo AtlasMeshChartingFlags
  • struct Geo AtlasMeshTriangle
  • struct Geo AtlasMeshTriangleCorner
  • struct Geo AtlasMeshVertex
  • struct Geo AtlasMeshVertexSplitResult
  • struct Geo BboxEdge
  • struct Geo BboxFace
  • struct Geo ClippedRay
  • struct Geo DebugLine
  • struct Geo eWindingOrder
  • struct Geo FixedSizeArray
  • struct Geo GeoAtomic
  • struct Geo GeoError
  • struct Geo GeoFixedPoolList
  • struct Geo GeoFixedPoolMap
  • struct Geo GeoPoint2
  • struct Geo GeoPoint2D
  • struct Geo GeoPoint3
  • struct Geo GeoPoint3D
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
class Geo PointSplit

    This is the documentation for Enlighten.

    class Geo PointSplit

    Nov 21, 2019

    class Geo::PointSplit

    A splitting node in a kd-tree of points.

    There is no dedicated kd-tree object in this implementation. The kd-tree branching structure is described by an array of PointSplit nodes, and it's leaf nodes and contents by an array of PointLeaf nodes. This allows the kd-tree to be easily extended with additional information, such as bounds information, without creating a single structure to rule all uses.

    All kd-tree's start with one of these as their root node, so all tree have at least 1 split node. There is one special case where the tree only has a single leaf node, and therefore no actual splits. In this case the root node is a 'no split' node, which is indicated by a negative value in m_PointIdx.

    The m_IdxGreaterIncl and m_IdxLess indices link to the two children of this split, where the type of object they link to is encoded in the sign of the index:

    • If > 0 it's a split index, else it's a negated leaf idx.

    • 0 is always a leaf idx. The 0'th split is always the root split and always exists and so is never referenced.

    The upper or greater child is described as 'inclusive' because it includes the splitting point.

    Variables

    Name Description
    Geo::s32 m_AxisIdx

    Which axis this splits on first.

    Geo::s32 m_IdxGreaterIncl

    The index of the upper/greater item.

    Geo::s32 m_IdxLess

    The index of the lower/less than item.

    Geo::s32 m_PointIdx

    The index of the point on which we are splitting, or a negative value for 'no split'.

    , multiple selections available,
    {"serverDuration": 10, "requestCorrelationId": "268c2fd7b93143e7bf34ef7e247407c0"}