Description

Collaboration diagram for OptiX-Based Code:

Classes

class  chrono::sensor::ChOptixEngine
 Optix Engine that is responsible for managing all render-based sensors. More...
 
struct  chrono::sensor::ProgramString
 holds string values for ptx file and ray generation program More...
 
struct  chrono::sensor::ByteImageData
 stores image data More...
 

Functions

CH_SENSOR_API optix::Program chrono::sensor::GetRTProgram (optix::Context context, std::string file_name, std::string program_name)
 launches ray generation program More...
 
ByteImageData chrono::sensor::LoadImage (std::string filename)
 loads image to struct ByteImageData, returns an empty struct with 0 values if loading failed More...
 
Transform chrono::sensor::CreateEmptyTransform (optix::Context context)
 creates an empty optix transform::node More...
 
Transform chrono::sensor::CreateTransform (optix::Context context, ChMatrix33< double > a, ChVector< double > b)
 creates an opti::transform node More...
 
Transform chrono::sensor::CreateTransform (optix::Context context, ChMatrix33< double > a, ChVector< double > b, ChVector< double > s)
 creates an optix::transform node More...
 
Transform chrono::sensor::CreateTransformFromEndPoints (optix::Context context, ChVector<> a, ChVector<> b, ChVector<> from)
 creatse an optix::transform node based on end points More...
 
optix::Transform chrono::sensor::CreateTransformFromEndPoints (optix::Context context, ChVector<> a, ChVector<> b, ChVector<> from, ChVector< double > s)
 creatse an optix::transform node based on end points More...
 
void chrono::sensor::UpdateTransform (optix::Transform t, ChMatrix33< double > a, ChVector< double > b)
 updates the projection matrix in the optix::transform object More...
 
void chrono::sensor::UpdateTransform (optix::Transform t, ChMatrix33< double > a, ChVector< double > b, ChVector< double > s)
 updates the projection matrix in the optix::transform object More...
 

Variables

const std::string chrono::sensor::ptx_pre = "ChronoEngine_sensor_generated_"
 prefix for ptx file
 
const std::string chrono::sensor::ptx_suff = ".cu.ptx"
 suffix for ptx file
 

Function Documentation

◆ CreateEmptyTransform()

optix::Transform chrono::sensor::CreateEmptyTransform ( optix::Context  context)

creates an empty optix transform::node

Parameters
contextthe optix context

◆ CreateTransform() [1/2]

optix::Transform chrono::sensor::CreateTransform ( optix::Context  context,
ChMatrix33< double >  a,
ChVector< double >  b 
)

creates an opti::transform node

Parameters
contextoptix context
aprojection matrix
b

◆ CreateTransform() [2/2]

optix::Transform chrono::sensor::CreateTransform ( optix::Context  context,
ChMatrix33< double >  a,
ChVector< double >  b,
ChVector< double >  s 
)

creates an optix::transform node

Parameters
contextoptix context
aprojection matrix
b
s
Returns
an optix::transform

◆ CreateTransformFromEndPoints() [1/2]

optix::Transform chrono::sensor::CreateTransformFromEndPoints ( optix::Context  context,
ChVector<>  a,
ChVector<>  b,
ChVector<>  from 
)

creatse an optix::transform node based on end points

Parameters
contextoptix context
aprojection matrix
b
from
Returns
an optix::transform

◆ CreateTransformFromEndPoints() [2/2]

optix::Transform chrono::sensor::CreateTransformFromEndPoints ( optix::Context  context,
ChVector<>  a,
ChVector<>  b,
ChVector<>  from,
ChVector< double >  s 
)

creatse an optix::transform node based on end points

Parameters
contextoptix context
aprojection matrix
b
from
s
Returns
an optix::transform

◆ GetRTProgram()

CH_SENSOR_API optix::Program chrono::sensor::GetRTProgram ( optix::Context  context,
std::string  file_name,
std::string  program_name 
)

launches ray generation program

Parameters
contextoptix context
file_namethe .cu file where the RT program is implemented
program_nameRT program

◆ LoadImage()

ByteImageData chrono::sensor::LoadImage ( std::string  filename)

loads image to struct ByteImageData, returns an empty struct with 0 values if loading failed

Parameters
filename

◆ UpdateTransform() [1/2]

void chrono::sensor::UpdateTransform ( optix::Transform  t,
ChMatrix33< double >  a,
ChVector< double >  b 
)

updates the projection matrix in the optix::transform object

Parameters
toptix transform object
aprojection matrix
b

◆ UpdateTransform() [2/2]

void chrono::sensor::UpdateTransform ( optix::Transform  t,
ChMatrix33< double >  a,
ChVector< double >  b,
ChVector< double >  s 
)

updates the projection matrix in the optix::transform object

Parameters
toptix tranform object
aprojection matrix
b
s