Bayeux  3.4.1
Core Foundation library for SuperNEMO
Public Types | Public Member Functions | Static Public Member Functions | List of all members
geomtools::i_wires_3d_rendering Class Referenceabstract

brief Abstract interface for objects that can describe themselves as a collection of polylines for 3D rendering More...

#include <bayeux/geomtools/i_wires_3d_rendering.h>

Inheritance diagram for geomtools::i_wires_3d_rendering:
geomtools::blur_spot geomtools::bounding_data geomtools::circle geomtools::ellipse geomtools::helix_3d geomtools::i_shape_2d geomtools::i_shape_3d geomtools::i_wires_drawer< T > geomtools::line_3d geomtools::polyline_3d geomtools::i_wires_drawer< cylindric_extrusion_boxed_model > geomtools::i_wires_drawer< extruded_box > geomtools::i_wires_drawer< plate_with_hole_model > geomtools::i_wires_drawer< spherical_extrusion_box_model > geomtools::i_wires_drawer< spherical_extrusion_cylinder_model >

Public Types

enum  wires_rendering_option_type {
  WR_NONE = 0, WR_BASE_GRID = datatools::bit_mask::bit00, WR_BASE_GRID_LOW_DENSITY = (WR_BASE_GRID << 1), WR_BASE_GRID_HIGH_DENSITY = (WR_BASE_GRID << 2),
  WR_BASE_GRID_VERY_HIGH_DENSITY = (WR_BASE_GRID << 3), WR_BASE_GRID_HUGE_DENSITY = (WR_BASE_GRID << 4), WR_BASE_LOW_ANGLE_SAMPLING = (WR_BASE_GRID << 5), WR_BASE_HIGH_ANGLE_SAMPLING = (WR_BASE_GRID << 6),
  WR_BASE_VERY_HIGH_ANGLE_SAMPLING = (WR_BASE_GRID << 7), WR_BASE_HUGE_ANGLE_SAMPLING = (WR_BASE_GRID << 8), WR_BASE_UNUSED_09 = (WR_BASE_GRID << 9), WR_BASE_UNUSED_10 = (WR_BASE_GRID << 10),
  WR_BASE_UNUSED_11 = (WR_BASE_GRID << 11), WR_BASE_UNUSED_12 = (WR_BASE_GRID << 12), WR_BASE_UNUSED_13 = (WR_BASE_GRID << 13), WR_BASE_BOUNDINGS = (WR_BASE_GRID << 14),
  WR_BASE_EXPLODE = (WR_BASE_GRID << 15), WR_BASE_LAST = (WR_BASE_EXPLODE), WR_BASE_MASK = datatools::bit_mask::nbits16
}
 Wires rendering optional flags. More...
 
enum  sampling_level_type {
  SL_NONE = 0, SL_LOW = 1, SL_NORMAL = 2, SL_HIGH = 3,
  SL_VERY_HIGH = 4, SL_HUGE = 5
}
 Sampling levels. More...
 

Public Member Functions

virtual ~i_wires_3d_rendering ()
 Destructor. More...
 
void generate_wires (wires_type &wires_, const placement &positioning_, uint32_t options_=0) const
 
void generate_wires (wires_type &wires_, const geomtools::vector_3d &position_, const geomtools::rotation_3d &rotation_, uint32_t options_=0) const
 
virtual void generate_wires_self (wires_type &wires_, uint32_t options_=0) const =0
 

Static Public Member Functions

static uint32_t linear_sampling (sampling_level_type)
 Return linear sampling from sampling level. More...
 
static uint32_t linear_sampling_from_options (uint32_t)
 Return linear sampling from rendering options. More...
 
static uint32_t angular_sampling (sampling_level_type)
 Return angular sampling from sampling level. More...
 
static uint32_t angular_sampling_from_options (uint32_t)
 Return angular sampling from rendering options. More...
 
static void boost_linear_sampling (uint32_t &)
 Boost the linear sampling. More...
 

Detailed Description

brief Abstract interface for objects that can describe themselves as a collection of polylines for 3D rendering

Member Enumeration Documentation

◆ sampling_level_type

Sampling levels.

Enumerator
SL_NONE 

No sampling.

SL_LOW 

Low density sampling.

SL_NORMAL 

Default/normal density sampling.

SL_HIGH 

High density sampling.

SL_VERY_HIGH 

Very high density sampling.

SL_HUGE 

Huge density sampling.

◆ wires_rendering_option_type

Wires rendering optional flags.

Enumerator
WR_NONE 
WR_BASE_GRID 

Activate grid rendering.

WR_BASE_GRID_LOW_DENSITY 

Activate grid with low density.

WR_BASE_GRID_HIGH_DENSITY 

Activate grid with high density.

WR_BASE_GRID_VERY_HIGH_DENSITY 

Activate grid with very high density.

WR_BASE_GRID_HUGE_DENSITY 

Activate grid with huge density.

WR_BASE_LOW_ANGLE_SAMPLING 

Use low sampling for angles.

WR_BASE_HIGH_ANGLE_SAMPLING 

Use high sampling for angles.

WR_BASE_VERY_HIGH_ANGLE_SAMPLING 

Use very high sampling for angles.

WR_BASE_HUGE_ANGLE_SAMPLING 

Use huge sampling for angles.

WR_BASE_UNUSED_09 

Reserved for future usage.

WR_BASE_UNUSED_10 

Reserved for future usage.

WR_BASE_UNUSED_11 

Reserved for future usage.

WR_BASE_UNUSED_12 

Reserved for future usage.

WR_BASE_UNUSED_13 

Reserved for future usage.

WR_BASE_BOUNDINGS 

Display the bounding volume.

WR_BASE_EXPLODE 

Explode the shape view to help debugging.

WR_BASE_LAST 

Last defined bit.

WR_BASE_MASK 

Base rendering options bit mask.

Constructor & Destructor Documentation

◆ ~i_wires_3d_rendering()

virtual geomtools::i_wires_3d_rendering::~i_wires_3d_rendering ( )
virtual

Destructor.

Member Function Documentation

◆ angular_sampling()

static uint32_t geomtools::i_wires_3d_rendering::angular_sampling ( sampling_level_type  )
static

Return angular sampling from sampling level.

◆ angular_sampling_from_options()

static uint32_t geomtools::i_wires_3d_rendering::angular_sampling_from_options ( uint32_t  )
static

Return angular sampling from rendering options.

◆ boost_linear_sampling()

static void geomtools::i_wires_3d_rendering::boost_linear_sampling ( uint32_t &  )
static

Boost the linear sampling.

◆ generate_wires() [1/2]

void geomtools::i_wires_3d_rendering::generate_wires ( wires_type wires_,
const placement positioning_,
uint32_t  options_ = 0 
) const

Generate a collection of polylines representing a 3D object in 'wires' display mode at some given placement

◆ generate_wires() [2/2]

void geomtools::i_wires_3d_rendering::generate_wires ( wires_type wires_,
const geomtools::vector_3d position_,
const geomtools::rotation_3d rotation_,
uint32_t  options_ = 0 
) const

Gener(ate a collection of polylines representing a 3D object in 'wires' display mode at some given position and orientation

◆ generate_wires_self()

virtual void geomtools::i_wires_3d_rendering::generate_wires_self ( wires_type wires_,
uint32_t  options_ = 0 
) const
pure virtual

◆ linear_sampling()

static uint32_t geomtools::i_wires_3d_rendering::linear_sampling ( sampling_level_type  )
static

Return linear sampling from sampling level.

◆ linear_sampling_from_options()

static uint32_t geomtools::i_wires_3d_rendering::linear_sampling_from_options ( uint32_t  )
static

Return linear sampling from rendering options.


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