TkDOPNode

Forward declarations.

Windows
MacOS
Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/kDOP.h

Include

#include "kDOP.h"

Syntax

template<typename COLL_DATA_PROVIDER, typename KDOP_IDX_TYPE>
struct TkDOPNode

Remarks

A node in the kDOP tree. The node contains the kDOP volume that encompasses it's children and/or triangles

Variables

Name Description

Public variable

union TkDOPNode...

 

@2843

Union of either child kDOP nodes or a list of enclosed triangles.

Public variable

union TkDOPNode...

 

@708

Union of either child kDOP nodes or a list of enclosed triangles.

Public variable

bool

 

bIsLeaf

Note this isn't smaller since 4 byte alignment will take over anyway.

Public variable

FFourBox

 

BoundingVolumes

Set of bounding volumes for child nodes.

Public variable

KDOP_IDX_TYPE

 

LeftNode

Public variable

TkDOPNode::@707...

 

n

This structure contains the left and right child kDOP indices These index values correspond to the array in the FkDOPTree

Public variable

TkDOPNode::@284...

 

n

This structure contains the left and right child kDOP indices These index values correspond to the array in the FkDOPTree

Public variable

KDOP_IDX_TYPE

 

NumTriangles

Public variable

uint8

 

Occupancy

Public variable

KDOP_IDX_TYPE

 

RightNode

Public variable

KDOP_IDX_TYPE

 

StartIndex

Public variable

TkDOPNode::@707...

 

t

This structure contains the list of enclosed triangles These index values correspond to the triangle information in the FkDOPTree using the start and count as the means of delineating which triangles are involved

Public variable

TkDOPNode::@284...

 

t

This structure contains the list of enclosed triangles These index values correspond to the triangle information in the FkDOPTree using the start and count as the means of delineating which triangles are involved

Constructors

Name Description

Public function

TkDOPNode()

Inits the data to no child nodes and an inverted volume

Public function

TkDOPNode()

Inits the data to no child nodes and an inverted volume

Functions

Name Description

Public function Const

bool

 

LineCheck

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    TTraversalHistory< KDOP_IDX_TYPE > ...
)

Determines the line in the FkDOPLineCollisionCheck intersects this node.

Public function Const

bool

 

LineCheck

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    TTraversalHistory< KDOP_IDX_TYPE > ...
)

Determines the line in the FkDOPLineCollisionCheck intersects this node.

Public function Const

void

 

LineCheckBounds

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    FVector4& HitTime,
    int32 NodeHit
)

The slab testing algorithm is based on the following papers.

Public function Const

void

 

LineCheckBounds

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    FVector4& HitTime,
    int32 NodeHit
)

The slab testing algorithm is based on the following papers.

Public function Const

bool

 

LineCheckPreCalculated

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    const FVector4& NodeHitTime,
    TTraversalHistory< KDOP_IDX_TYPE > ...,
    int32* NodeHit
)

Determines the line in the FkDOPLineCollisionCheck intersects this node.

Public function Const

bool

 

LineCheckPreCalculated

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    const FVector4& NodeHitTime,
    TTraversalHistory< KDOP_IDX_TYPE > ...,
    int32* NodeHit
)

Determines the line in the FkDOPLineCollisionCheck intersects this node.

Public function Const

bool

 

LineCheckTriangles

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    const TTraversalHistory< KDOP_IDX_T...
)

Works through the list of triangles in this node checking each one for a collision.

Public function Const

bool

 

LineCheckTriangles

(
    TkDOPLineCollisionCheck< COLL_DATA_...,
    const TTraversalHistory< KDOP_IDX_T...
)

Works through the list of triangles in this node checking each one for a collision.

Public function

FBox

 

SplitTriangleList

(
    int32 Start,
    int32 NumTris,
    TArray< FkDOPBuildCollisionTriangle...,
    TChunkedArray< FTriangleSOA >& SOA...,
    TChunkedArray< NodeType >& Nodes
)

Determines if the node is a leaf or not.

Public function

FBox

 

SplitTriangleList

(
    int32 Start,
    int32 NumTris,
    TArray< FkDOPBuildCollisionTriangle...,
    TChunkedArray< FTriangleSOA >& SOA...,
    TChunkedArray< NodeType >& Nodes
)

Determines if the node is a leaf or not.

Typedefs

Name

Description

DataProviderType

Exposes data provider type to clients.

DataProviderType

Exposes data provider type to clients.

NodeType

Exposes node type to clients.

NodeType

Exposes node type to clients.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback