RobinTrace
Public Member Functions | Public Attributes | List of all members
lseq_part Class Reference

A part in a lseq. It contains both data and methods relative to a single part. More...

#include <lseq_part.h>

Collaboration diagram for lseq_part:
[legend]

Public Member Functions

template<typename T >
 lseq_part (const T &part)
 Constructor.
 
void trace (ray_pack &ray_buns)
 Apply raytracing of the part to a ray_pack. More...
 
void compute_semi_diameter ()
 Compute the part semi-diameter from the saved ray states.
 
ray_pack rays_to_global (const ray_pack &local_rays)
 Convert a ray_pack in the part's LCS to a ray_pack in global coordinates.
 
void compute_global_rays ()
 Convert the lseq_part_rays to lseq_part_global_rays. More...
 
void compute_propagation_direction ()
 Compute the lseq_part_propagation_direction.
 

Public Attributes

std::unique_ptr< lpartpart
 A copy of the underlying lpart.
 
type_map< lseq_part_resultresults
 Results table.
 
bool save_rays
 Whether to save ray states when tracing.
 

Detailed Description

A part in a lseq. It contains both data and methods relative to a single part.

Member Function Documentation

◆ compute_global_rays()

void lseq_part::compute_global_rays ( )

Convert the lseq_part_rays to lseq_part_global_rays.

Requires lseq_part_global_position being present.

Here is the call graph for this function:

◆ trace()

void lseq_part::trace ( ray_pack ray_buns)

Apply raytracing of the part to a ray_pack.

Also save the ray states if the option is enabled.

Here is the call graph for this function:

The documentation for this class was generated from the following files: