Fermat
Public Types | Public Methods | Static Public Methods | Public Members | List of all members
cugar::Bvh_node_3d Struct Reference

Detailed description

3d bvh node with bounding box (note that this struct has a convenient size of 32 bytes, which can be fetched with two float4 vector loads)

#include <bvh_node.h>

Inheritance diagram for cugar::Bvh_node_3d:
cugar::Bvh_node cugar::Bintree_node< leaf_range_tag >

Public Types

typedef Bvh_node::node_tag node_tag
 
typedef Bvh_node::internal_type internal_type
 
typedef Bvh_node::leaf_type leaf_type
 
- Public Types inherited from cugar::Bvh_node
enum  internal_type { kInternal = 0 }
 
enum  leaf_type { kLeaf = 1 }
 
typedef leaf_range_tag node_tag
 

Public Methods

CUGAR_HOST_DEVICE Bvh_node_3d ()
 
CUGAR_HOST_DEVICE Bvh_node_3d (const internal_type type, const uint32 child_index, const uint32 range_size=0)
 
CUGAR_HOST_DEVICE Bvh_node_3d (const leaf_type type, const uint32 leaf_begin, const uint32 leaf_end)
 
CUGAR_HOST_DEVICE Bvh_node_3d (const float4 f0, const float4 f1)
 
CUGAR_HOST_DEVICE Bvh_node_3doperator= (const Bintree_node< leaf_range_tag > &base)
 
- Public Methods inherited from cugar::Bvh_node
CUGAR_HOST_DEVICE Bvh_node ()
 
CUGAR_HOST_DEVICE Bvh_node (const internal_type type, const uint32 child_index, const uint32 range_size=0)
 
CUGAR_HOST_DEVICE Bvh_node (const leaf_type type, const uint32 leaf_begin, const uint32 leaf_end)
 
CUGAR_HOST_DEVICE Bvh_nodeoperator= (const Bintree_node< leaf_range_tag > &base)
 

Static Public Methods

static CUGAR_HOST_DEVICE Bvh_node_3d load_ldg (const Bvh_node_3d *node)
 

Public Members

Bbox< Vector3fbbox
 

Constructor & Destructor Documentation

◆ Bvh_node_3d() [1/4]

CUGAR_HOST_DEVICE cugar::Bvh_node_3d::Bvh_node_3d ( )
inline

default constructor

◆ Bvh_node_3d() [2/4]

CUGAR_HOST_DEVICE cugar::Bvh_node_3d::Bvh_node_3d ( const internal_type  type,
const uint32  child_index,
const uint32  range_size = 0 
)
inline

internal node constructor

◆ Bvh_node_3d() [3/4]

CUGAR_HOST_DEVICE cugar::Bvh_node_3d::Bvh_node_3d ( const leaf_type  type,
const uint32  leaf_begin,
const uint32  leaf_end 
)
inline

leaf node constructor

◆ Bvh_node_3d() [4/4]

CUGAR_HOST_DEVICE cugar::Bvh_node_3d::Bvh_node_3d ( const float4  f0,
const float4  f1 
)
inline

construct a node from two float4's

Member Function Documentation

◆ load_ldg()

static CUGAR_HOST_DEVICE Bvh_node_3d cugar::Bvh_node_3d::load_ldg ( const Bvh_node_3d node)
inlinestatic

construct a node from two float4's

◆ operator=()

CUGAR_HOST_DEVICE Bvh_node_3d& cugar::Bvh_node_3d::operator= ( const Bintree_node< leaf_range_tag > &  base)
inline

assign the base type


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