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 GeoFpControl
  • class Geo GeoFrameTime
  • class Geo GeoFreeDestructor
  • class Geo GeoGenericTexture
  • class Geo GeoGuid
  • class Geo GeoHalf
  • class Geo GeoHashConstHandle
  • class Geo GeoHashCString
  • class Geo GeoHashDefault
  • class Geo GeoHashHandle
  • class Geo GeoHashMap
  • class Geo GeoHashString
  • class Geo GeoImmutableArray
  • class Geo GeoInputEvent
  • class Geo GeoInstanceCount
  • class Geo GeoIntRange
  • class Geo GeoIntrusivePtr
  • class Geo GeoKeyValueArray
  • class Geo GeoLineSegment
  • class Geo GeoList
  • class Geo GeoMap
  • class Geo GeoMemoryDefault
  • class Geo GeoMemoryPool
  • class Geo GeoMemoryStream
  • class Geo GeoNonAABoundingBox
  • class Geo GeoNoopDestructor
  • class Geo GeoPair
  • class Geo GeoParametrisedPlane3
  • class Geo GeoPriorityQueue
  • class Geo GeoProgress
  • class Geo GeoQueue
  • class Geo GeoQueueEnumInterface
  • class Geo GeoRefArrayPtr
  • class Geo GeoRefCount
  • class Geo GeoRefPtr
  • class Geo GeoRefReleasePtr
  • class Geo GeoReleaseDestructor
  • class Geo GeoRGBXTexture
  • class Geo GeoScopedCSection
  • class Geo GeoSingleton
  • class Geo GeoSpatialHash
    • struct Geo GeoSpatialHash GridCellBlock
  • 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
    Calendars

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

    This is the documentation for Enlighten.

    class Geo GeoSpatialHash

    Nov 21, 2019

    class Geo::GeoSpatialHash

    The 3D hash table.

    Classes

    Name Description
    Geo::GeoSpatialHash::GridCellBlock

    The grid index box.

    Variables

    Name Description
    Geo::s32 m_Capacity

    The capacity of the grid.

    Geo::s32 * m_CellOffsets

    This is the number of items in each cell.

    Geo::GeoArray< GeoSpatialHashEntry > m_CellRefs

    This is of size n, where n is the number of items.

    Geo::v128 m_CellSize

    The size of each cell. Divide by this to convert to voxel space.

    Geo::s32 m_GridCells[3]

    The grid discrete size.

    Geo::v128 m_GridExtents

    The grid extents.

    Geo::v128 m_GridOffset

    The grid offset. Add something this to a vector to get it into grid space.

    Geo::s32 m_NumCells

    This the number of cells.

    bool m_Sorted

    Has this been prepared?

    Functions

    Name Description
    ~GeoSpatialHash()

    Destructor.

    AddInBounds(const Geo::GeoBoundingBox &, Geo::s32)

    Add an object to an extent.

    GeoSpatialHash(const Geo::GeoBoundingBox &, Geo::u32, Geo::u32, Geo::u32, Geo::u32)

    Constructor. CellCount is how many cells along each axis there should be.

    GetBaseKey(Geo::u32, Geo::u32, Geo::u32)

    Get the base key.

    GetGridCellBlock(const Geo::GeoBoundingBox &, GridCellBlock &)

    Convert a bbox to GridIndexBox.

    GetInExtent(const Geo::GeoBoundingBox &, Geo::GeoArray< Geo::s32 > &)

    Get the list of objects inside a given bounding box.

    GetObjectsInCell(Geo::u32, Geo::GeoArray< Geo::s32 > &)

    Get all the objects inside a given cell.

    PrepareMap()

    Once you've added all the vertices, call this.

    QSortComparison(const void *, const void *)

    Function used by qsort to compare map entries.

    TransformPoint(const Geo::v128 &)

    Transform a point into our voxel space.


    Geo::GeoSpatialHash::~GeoSpatialHash


    public: ~GeoSpatialHash()


    Destructor.


    bool Geo::GeoSpatialHash::AddInBounds


    public: bool AddInBounds
    (
        const Geo::GeoBoundingBox & bbox,
        Geo::s32 vertex
    )


    Add an object to an extent.


    Geo::GeoSpatialHash::GeoSpatialHash


    public: GeoSpatialHash
    (
        const Geo::GeoBoundingBox & extents,
        Geo::u32 numEntries,
        Geo::u32 xCells,
        Geo::u32 yCells,
        Geo::u32 zCells
    )


    Constructor. CellCount is how many cells along each axis there should be.


    Geo::u32 Geo::GeoSpatialHash::GetBaseKey


    protected: Geo::u32 GetBaseKey
    (
        Geo::u32 x,
        Geo::u32 y,
        Geo::u32 z
    ) const


    Get the base key.


    void Geo::GeoSpatialHash::GetGridCellBlock


    protected: void GetGridCellBlock
    (
        const Geo::GeoBoundingBox & bbox,
        GridCellBlock & grid
    ) const


    Convert a bbox to GridIndexBox.


    bool Geo::GeoSpatialHash::GetInExtent


    public: bool GetInExtent
    (
        const Geo::GeoBoundingBox & bbox,
        Geo::GeoArray< Geo::s32 > & vertexIDList
    ) const


    Get the list of objects inside a given bounding box.


    void Geo::GeoSpatialHash::GetObjectsInCell


    protected: void GetObjectsInCell
    (
        Geo::u32 key,
        Geo::GeoArray< Geo::s32 > & list
    ) const


    Get all the objects inside a given cell.


    void Geo::GeoSpatialHash::PrepareMap


    public: void PrepareMap()


    Once you've added all the vertices, call this.


    static Geo::s32 Geo::GeoSpatialHash::QSortComparison


    protected: Geo::s32 QSortComparison
    (
        const void * arg1,
        const void * arg2
    )


    Function used by qsort to compare map entries.


    Geo::v128 Geo::GeoSpatialHash::TransformPoint


    protected: Geo::v128 TransformPoint
    (
        const Geo::v128 & point
    ) const


    Transform a point into our voxel space.

    , multiple selections available,
    {"serverDuration": 8, "requestCorrelationId": "03227a0db9e84bc5bd4971f90467a6df"}