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

Abstract interface for all objects for which we can compute the intercept with a ray emitted from a point. More...

#include <bayeux/geomtools/i_find_intercept.h>

Inheritance diagram for geomtools::i_find_intercept:
geomtools::i_shape_2d geomtools::i_shape_3d geomtools::composite_surface geomtools::cylindrical_sector geomtools::disk geomtools::ellipsoid_sector geomtools::elliptical_cylinder_sector geomtools::elliptical_sector geomtools::plane geomtools::quadrangle geomtools::quadric geomtools::rectangle geomtools::regular_polygon geomtools::right_circular_conical_nappe geomtools::simple_polygon geomtools::spherical_sector geomtools::toroid_nappe geomtools::triangle geomtools::box geomtools::cylinder geomtools::ellipsoid geomtools::elliptical_cylinder geomtools::extruded_box geomtools::i_composite_shape_3d geomtools::polycone geomtools::polyhedra geomtools::right_circular_conical_frustrum geomtools::right_polygonal_frustrum geomtools::sphere geomtools::tessellated_solid geomtools::torus geomtools::tube geomtools::wall_solid

Public Member Functions

 i_find_intercept ()
 Default constructor. More...
 
virtual ~i_find_intercept ()
 Destructor. More...
 
virtual bool find_intercept (const vector_3d &a_from, const vector_3d &a_direction, face_intercept_info &a_intercept, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const =0
 
bool find_intercept_self (const vector_3d &a_from, const vector_3d &a_direction, face_intercept_info &a_intercept, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const
 
bool find_intercept (const vector_3d &a_from, const vector_3d &a_direction, const placement &a_placement, face_intercept_info &a_intercept, double a_skin=GEOMTOOLS_PROPER_TOLERANCE) const
 

Detailed Description

Abstract interface for all objects for which we can compute the intercept with a ray emitted from a point.

Constructor & Destructor Documentation

◆ i_find_intercept()

geomtools::i_find_intercept::i_find_intercept ( )

Default constructor.

◆ ~i_find_intercept()

virtual geomtools::i_find_intercept::~i_find_intercept ( )
virtual

Destructor.

Member Function Documentation

◆ find_intercept() [1/2]

virtual bool geomtools::i_find_intercept::find_intercept ( const vector_3d a_from,
const vector_3d a_direction,
face_intercept_info a_intercept,
double  a_skin = GEOMTOOLS_PROPER_TOLERANCE 
) const
pure virtual

◆ find_intercept() [2/2]

bool geomtools::i_find_intercept::find_intercept ( const vector_3d a_from,
const vector_3d a_direction,
const placement a_placement,
face_intercept_info a_intercept,
double  a_skin = GEOMTOOLS_PROPER_TOLERANCE 
) const

Find intercept on some surface from a segment/ray emitted from a point

This method implies we work in the global coordinate system of the target object

  • a_from the position from which the ray is emitted
  • a_direction the direction of the emitted ray
  • a_placement the positioning of the target object on which we search the intercept
  • a_intercept the data structure that contains the result of the intercept algorithm (impact point)
    Returns
    true if a valid intercept/impact has been found

◆ find_intercept_self()

bool geomtools::i_find_intercept::find_intercept_self ( const vector_3d a_from,
const vector_3d a_direction,
face_intercept_info a_intercept,
double  a_skin = GEOMTOOLS_PROPER_TOLERANCE 
) const

Find intercept on some surface from a segment/ray emitted from a point

This method implies we work in the local coordinate system of the target object

  • a_from the position from which the ray is emitted
  • a_direction the direction of the emitted ray
  • a_intercept the data structure that contains the result of the intercept algorithm (impact point)
    Returns
    true if a valid intercept/impact has been found

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