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

A general quadric a 3D space. More...

#include <bayeux/geomtools/quadric.h>

Inheritance diagram for geomtools::quadric:
geomtools::i_shape_2d geomtools::i_object_3d geomtools::i_find_intercept geomtools::i_wires_3d_rendering datatools::i_serializable datatools::i_tree_dumpable

Public Types

enum  coef_index {
  A = 9, B = 8, C = 7, D = 6,
  E = 5, F = 4, G = 3, H = 2,
  I = 1, J = 0, NCOEFFS = 10
}
 
- Public Types inherited from geomtools::i_shape_2d
enum  faces_mask_type {
  FACE_NONE = face_identifier::FACE_BITS_NONE, FACE_UNIQUE = datatools::bit_mask::bit00, FACE_UP = FACE_UNIQUE, FACE_DOWN = datatools::bit_mask::bit01,
  FACE_ALL = FACE_UNIQUE
}
 The up/down identifier of the face. More...
 
- Public Types inherited from geomtools::i_object_3d
enum  dimensional_type { DIMENSIONAL_0 = 0, DIMENSIONAL_1 = 1, DIMENSIONAL_2 = 2, DIMENSIONAL_3 = 3 }
 Known dimensions. More...
 
typedef datatools::handle< i_object_3dhandle_type
 A handle to a 3D object. More...
 
typedef std::map< std::string, object_entryhandle_dict_type
 Dictionary of handle of 3D object entries. More...
 
- Public Types inherited from datatools::i_tree_dumpable
enum  ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 }
 Enumeration for standard output streams. More...
 
- Public Types inherited from geomtools::i_wires_3d_rendering
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 std::string get_shape_name () const
 Return the shape name. More...
 
bool is_valid () const
 Check if the plane is valid. More...
 
void initialize (const datatools::properties &, const handle_dict_type *=0)
 Initialize from properties and a dictionary of 3D-objects. More...
 
void reset ()
 Reset. More...
 
 quadric ()
 Default constructor. More...
 
void set_coefficient (coef_index, double)
 Set the coefficient at given rank. More...
 
double get_coefficient (coef_index) const
 Return the coefficient at given rank. More...
 
virtual double eval_f (double x_, double y_, double z_) const
 Compute the quadric formula f(x,y,z) at given 3D point. More...
 
virtual double eval_dfdx (double x_, double y_, double z_) const
 Compute the quadric df/dx derivative at given 3D point. More...
 
virtual double eval_dfdy (double x_, double y_, double z_) const
 Compute the quadric df/dy derivative at given 3D point. More...
 
virtual double eval_dfdz (double x_, double y_, double z_) const
 Compute the quadric df/dz derivative at given 3D point. More...
 
void eval_gradient (double x_, double y_, double z_, double &dfdx_, double &dfdy_, double &dfdz_) const
 Compute the quadric gradient (df/dx, df/dy, df/dz) at given 3D point. More...
 
void eval_gradient (const geomtools::vector_3d &position_, geomtools::vector_3d &gradient_) const
 Compute the quadric gradient (df/dx, df/dy, df/dz) at given 3D point. More...
 
double eval_f (const geomtools::vector_3d &position_) const
 Compute the quadric formula at given 3D point. More...
 
double distance (const geomtools::vector_3d &position_) const
 Compute the distance from a position to the plane. More...
 
geomtools::vector_3d orthogonal_projection (const geomtools::vector_3d &position_, double skin_=GEOMTOOLS_PROPER_TOLERANCE) const
 Compute the orthogonal projection from a position. More...
 
geomtools::vector_3d projection (const geomtools::vector_3d &position_, const geomtools::vector_3d &direction_, double skin_=GEOMTOOLS_PROPER_TOLERANCE) const
 Compute the projection from a position along a direction. More...
 
virtual bool is_on_surface (const geomtools::vector_3d &position_, double skin_=GEOMTOOLS_PROPER_TOLERANCE) const
 Check if the point. More...
 
virtual geomtools::vector_3d get_normal_on_surface (const geomtools::vector_3d &position_, bool check_=true, double skin_=GEOMTOOLS_PROPER_TOLERANCE) const
 
virtual bool find_intercept (const geomtools::vector_3d &from_, const geomtools::vector_3d &direction_, face_intercept_info &intercept_, double tolerance_=GEOMTOOLS_PROPER_TOLERANCE) const
 
void generate_wires_self (wires_type &, uint32_t options_=0) const
 
virtual void tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
 Smart print. More...
 
- Public Member Functions inherited from geomtools::i_shape_2d
virtual bool has_number_of_sides () const
 Check if the 2D shape knows its number of associated sides. More...
 
virtual unsigned int get_number_of_sides () const
 Return the number of associated sides. More...
 
virtual bool has_perimeter (uint32_t flags_=ALL_PIECES) const
 Check if the 2D shape known its perimeter. More...
 
virtual double get_perimeter (uint32_t flags_=ALL_PIECES) const
 Return the perimeter. More...
 
virtual bool has_surface (uint32_t flags_=ALL_PIECES) const
 Check if the 2D shape surface is defined. More...
 
virtual double get_surface (uint32_t flags_=ALL_PIECES) const
 Return the surface. More...
 
int get_dimensional () const
 Return the dimension of the object. More...
 
 i_shape_2d ()
 Default constructor. More...
 
 i_shape_2d (double tolerance_)
 Constructor. More...
 
 i_shape_2d (double tolerance_, double angular_tolerance_)
 Constructor. More...
 
virtual ~i_shape_2d ()
 Destructor. More...
 
- Public Member Functions inherited from geomtools::i_object_3d
datatools::logger::priority get_logging_priority () const
 Return the logging priority threshold. More...
 
void set_logging_priority (datatools::logger::priority)
 Set the logging priority threshold. More...
 
bool has_wires_drawer () const
 Check is a wires drawer is available. More...
 
void set_wires_drawer (i_wires_3d_rendering &wires_drawer_)
 Set a wires drawer. More...
 
void reset_wires_drawer ()
 Reset the wires drawer. More...
 
i_wires_3d_renderinggrab_wires_drawer ()
 Return a wires drawer. More...
 
const i_wires_3d_renderingget_wires_drawer () const
 Return a wires drawer. More...
 
double compute_tolerance (double tolerance_) const
 Return the distance tolerance. More...
 
double compute_angular_tolerance (double angular_tolerance_) const
 Return the angular tolerance. More...
 
double get_tolerance () const
 Return the distance tolerance. More...
 
void set_tolerance (double tolerance_)
 Set the distance tolerance. More...
 
double get_angular_tolerance () const
 Return the angular tolerance. More...
 
void set_angular_tolerance (double tolerance_)
 Set the angular tolerance. More...
 
virtual bool is_composite () const
 Check if the object is composite. More...
 
 i_object_3d ()
 Default constructor. More...
 
 i_object_3d (double tolerance_)
 Constructor on length tolerance. More...
 
 i_object_3d (double tolerance_, double angular_tolerance_)
 Constructor on length tolerance. More...
 
 i_object_3d (const i_object_3d &)
 Copy constructor. More...
 
i_object_3doperator= (const i_object_3d &)
 Assignment operator. More...
 
virtual ~i_object_3d ()
 Destructor. More...
 
void initialize_simple ()
 Initialize the 3D object. More...
 
- Public Member Functions inherited from datatools::i_serializable
 i_serializable ()
 Default constructor. More...
 
virtual ~i_serializable ()
 Destructor. More...
 
virtual const std::string & get_serial_tag () const =0
 Return the serialization string identifier of the class. More...
 
- Public Member Functions inherited from datatools::i_tree_dumpable
 i_tree_dumpable ()
 Constructor. More...
 
virtual ~i_tree_dumpable ()
 Destructor. More...
 
virtual void print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const
 Main new interface method for printing. More...
 
void print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const
 Printing with jsonized options. More...
 
void print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const
 Printing with jsonized options. More...
 
void tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const
 
void tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const
 
void smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const
 
- Public Member Functions inherited from geomtools::i_find_intercept
 i_find_intercept ()
 Default constructor. More...
 
virtual ~i_find_intercept ()
 Destructor. More...
 
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
 
- Public Member Functions inherited from geomtools::i_wires_3d_rendering
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
 

Static Public Member Functions

static const std::string & quadric_label ()
 Return the identifier label for the class. More...
 
static std::string coeff_label (coef_index i_)
 
static void make_plane (quadric &q_, double a_, double b_, double c_, double d_)
 
static void make_plane_yz (quadric &q_, double a_)
 
static void make_plane_xz (quadric &q_, double b_)
 
static void make_plane_xy (quadric &q_, double c_)
 
static void make_parallel_planes_yz (quadric &q_, double a_)
 
static void make_parallel_planes_xz (quadric &q_, double b_)
 
static void make_parallel_planes_xy (quadric &q_, double c_)
 
static void make_ellipsoid (quadric &q_, double a_, double b_, double c_)
 
static void make_spheroid_along_z (quadric &q_, double a_, double b_)
 
static void make_sphere (quadric &q_, double a_)
 
static void make_elliptic_paraboloid_along_z (quadric &q_, double a_, double b_)
 
static void make_circular_paraboloid_along_z (quadric &q_, double a_)
 
static void make_hyperbolic_paraboloid_along_z (quadric &q_, double a_, double b_)
 
static void make_elliptic_hyperbolic_one_sheet_along_z (quadric &q_, double a_, double b_, double c_)
 
static void make_elliptic_hyperbolic_two_sheets_along_z (quadric &q_, double a_, double b_, double c_)
 
static void make_elliptic_cone_along_z (quadric &q_, double a_, double b_, double c_)
 
static void make_circular_cone_along_z (quadric &q_, double a_, double b_)
 
static void make_elliptic_cylinder_along_z (quadric &q_, double a_, double b_)
 
static void make_circular_cylinder_along_z (quadric &q_, double a_)
 
static void make_hyperbolic_cylinder_along_z (quadric &q_, double a_, double b_)
 
static void make_parabolic_cylinder_along_z (quadric &q_, double a_)
 
- Static Public Member Functions inherited from geomtools::i_shape_2d
static void init_ocd (datatools::object_configuration_description &ocd_)
 
- Static Public Member Functions inherited from geomtools::i_object_3d
static void init_ocd (datatools::object_configuration_description &)
 OCD support. More...
 
- Static Public Member Functions inherited from datatools::i_tree_dumpable
static const boost::property_tree::ptree & empty_options ()
 
static boost::property_tree::ptree make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false)
 
static std::ostream & last_skip_tag (std::ostream &out_)
 
static std::ostream & skip_tag (std::ostream &out_)
 
static std::ostream & last_tag (std::ostream &out_)
 
static std::ostream & tag (std::ostream &out_)
 
- Static Public Member Functions inherited from geomtools::i_wires_3d_rendering
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...
 

Protected Member Functions

void _set_defaults ()
 Set default attributes values. More...
 
- Protected Member Functions inherited from geomtools::i_object_3d
void _set_defaults ()
 Set default values for attributes. More...
 
void _initialize (const datatools::properties &, const handle_dict_type *=0)
 Initialize from properties. More...
 
void _reset ()
 Reset. More...
 

Additional Inherited Members

- Static Public Attributes inherited from geomtools::i_shape_2d
static const uint32_t ALL_PIECES = 0xFFFFFFFF
 Special flag representing all pieces composing a 2D shape. More...
 

Detailed Description

A general quadric a 3D space.

Member Enumeration Documentation

◆ coef_index

Enumerator
NCOEFFS 

Constructor & Destructor Documentation

◆ quadric()

geomtools::quadric::quadric ( )

Default constructor.

Member Function Documentation

◆ _set_defaults()

void geomtools::quadric::_set_defaults ( )
protected

Set default attributes values.

◆ coeff_label()

static std::string geomtools::quadric::coeff_label ( coef_index  i_)
static

◆ distance()

double geomtools::quadric::distance ( const geomtools::vector_3d position_) const

Compute the distance from a position to the plane.

◆ eval_dfdx()

virtual double geomtools::quadric::eval_dfdx ( double  x_,
double  y_,
double  z_ 
) const
virtual

Compute the quadric df/dx derivative at given 3D point.

◆ eval_dfdy()

virtual double geomtools::quadric::eval_dfdy ( double  x_,
double  y_,
double  z_ 
) const
virtual

Compute the quadric df/dy derivative at given 3D point.

◆ eval_dfdz()

virtual double geomtools::quadric::eval_dfdz ( double  x_,
double  y_,
double  z_ 
) const
virtual

Compute the quadric df/dz derivative at given 3D point.

◆ eval_f() [1/2]

virtual double geomtools::quadric::eval_f ( double  x_,
double  y_,
double  z_ 
) const
virtual

Compute the quadric formula f(x,y,z) at given 3D point.

◆ eval_f() [2/2]

double geomtools::quadric::eval_f ( const geomtools::vector_3d position_) const

Compute the quadric formula at given 3D point.

◆ eval_gradient() [1/2]

void geomtools::quadric::eval_gradient ( double  x_,
double  y_,
double  z_,
double &  dfdx_,
double &  dfdy_,
double &  dfdz_ 
) const

Compute the quadric gradient (df/dx, df/dy, df/dz) at given 3D point.

◆ eval_gradient() [2/2]

void geomtools::quadric::eval_gradient ( const geomtools::vector_3d position_,
geomtools::vector_3d gradient_ 
) const

Compute the quadric gradient (df/dx, df/dy, df/dz) at given 3D point.

◆ find_intercept()

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

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

Implements geomtools::i_find_intercept.

◆ generate_wires_self()

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

Generate a collection of polylines representing a 3D object in 'wires' display mode using the object coordinate frame

Implements geomtools::i_wires_3d_rendering.

◆ get_coefficient()

double geomtools::quadric::get_coefficient ( coef_index  ) const

Return the coefficient at given rank.

◆ get_normal_on_surface()

virtual geomtools::vector_3d geomtools::quadric::get_normal_on_surface ( const geomtools::vector_3d position_,
bool  check_ = true,
double  skin_ = GEOMTOOLS_PROPER_TOLERANCE 
) const
virtual

Return the normal direction at some position on the 2D shape's path

  • position_ The position to be checked
    Returns
    the normal 3D vector at the checked position that is assumes belonging to the surface

Implements geomtools::i_shape_2d.

◆ get_shape_name()

virtual std::string geomtools::quadric::get_shape_name ( ) const
virtual

Return the shape name.

Implements geomtools::i_object_3d.

◆ initialize()

void geomtools::quadric::initialize ( const datatools::properties ,
const handle_dict_type = 0 
)
virtual

Initialize from properties and a dictionary of 3D-objects.

Reimplemented from geomtools::i_object_3d.

◆ is_on_surface()

virtual bool geomtools::quadric::is_on_surface ( const geomtools::vector_3d position_,
double  skin_ = GEOMTOOLS_PROPER_TOLERANCE 
) const
virtual

Check if the point.

Implements geomtools::i_shape_2d.

◆ is_valid()

bool geomtools::quadric::is_valid ( ) const
virtual

Check if the plane is valid.

Implements geomtools::i_object_3d.

◆ make_circular_cone_along_z()

static void geomtools::quadric::make_circular_cone_along_z ( quadric q_,
double  a_,
double  b_ 
)
static

Make circular cone along Z axis f(x,y,z) = (x/a)2 + (y/a)2 - (z/b)2 = 0

◆ make_circular_cylinder_along_z()

static void geomtools::quadric::make_circular_cylinder_along_z ( quadric q_,
double  a_ 
)
static

Make circular cylinder along Z axis f(x,y,z) = (x/a)2 + (y/a)2 - 1 = 0

◆ make_circular_paraboloid_along_z()

static void geomtools::quadric::make_circular_paraboloid_along_z ( quadric q_,
double  a_ 
)
static

Make circular paraboloid along Z axis f(x,y,z) = (x/a)2 + (y/a)2 - z = 0

◆ make_ellipsoid()

static void geomtools::quadric::make_ellipsoid ( quadric q_,
double  a_,
double  b_,
double  c_ 
)
static

Make ellipsoid f(x,y,z) = (x/a)2 + (y/b)2 + (z/c)2 - 1 = 0

◆ make_elliptic_cone_along_z()

static void geomtools::quadric::make_elliptic_cone_along_z ( quadric q_,
double  a_,
double  b_,
double  c_ 
)
static

Make elliptic cone along Z axis f(x,y,z) = (x/a)2 + (y/b)2 - (z/c)2 = 0

◆ make_elliptic_cylinder_along_z()

static void geomtools::quadric::make_elliptic_cylinder_along_z ( quadric q_,
double  a_,
double  b_ 
)
static

Make elliptic cylinder along Z axis f(x,y,z) = (x/a)2 + (y/b)2 - 1 = 0

◆ make_elliptic_hyperbolic_one_sheet_along_z()

static void geomtools::quadric::make_elliptic_hyperbolic_one_sheet_along_z ( quadric q_,
double  a_,
double  b_,
double  c_ 
)
static

Make hyperbolic paraboloid of one sheet along Z axis f(x,y,z) = (x/a)2 + (y/b)2 - (z/c)2 - 1 = 0

◆ make_elliptic_hyperbolic_two_sheets_along_z()

static void geomtools::quadric::make_elliptic_hyperbolic_two_sheets_along_z ( quadric q_,
double  a_,
double  b_,
double  c_ 
)
static

Make hyperbolic paraboloid of two sheets along Z axis f(x,y,z) = (x/a)2 + (y/b)2 - (z/c)2 + 1 = 0

◆ make_elliptic_paraboloid_along_z()

static void geomtools::quadric::make_elliptic_paraboloid_along_z ( quadric q_,
double  a_,
double  b_ 
)
static

Make elliptic paraboloid along Z axis f(x,y,z) = (x/a)2 + (y/b)2 - z = 0

◆ make_hyperbolic_cylinder_along_z()

static void geomtools::quadric::make_hyperbolic_cylinder_along_z ( quadric q_,
double  a_,
double  b_ 
)
static

Make hyperbolic cylinder along Z axis f(x,y,z) = (x/a)2 - (y/b)2 - 1 = 0

◆ make_hyperbolic_paraboloid_along_z()

static void geomtools::quadric::make_hyperbolic_paraboloid_along_z ( quadric q_,
double  a_,
double  b_ 
)
static

Make hyperbolic paraboloid along Z axis f(x,y,z) = (x/a)2 - (y/b)2 - z = 0

◆ make_parabolic_cylinder_along_z()

static void geomtools::quadric::make_parabolic_cylinder_along_z ( quadric q_,
double  a_ 
)
static

Make parabolic cylinder along Z axis f(x,y,z) = x2 + 2ay = 0

◆ make_parallel_planes_xy()

static void geomtools::quadric::make_parallel_planes_xy ( quadric q_,
double  c_ 
)
static

Make parallel XY planes at z2=c2 f(x,y,z) = z2 - c2 = 0

◆ make_parallel_planes_xz()

static void geomtools::quadric::make_parallel_planes_xz ( quadric q_,
double  b_ 
)
static

Make parallel XZ planes at y2=b2 f(x,y,z) = y2 - b2 = 0

◆ make_parallel_planes_yz()

static void geomtools::quadric::make_parallel_planes_yz ( quadric q_,
double  a_ 
)
static

Make parallel YZ planes at x2=a2 f(x,y,z) = x2 - a2 = 0

◆ make_plane()

static void geomtools::quadric::make_plane ( quadric q_,
double  a_,
double  b_,
double  c_,
double  d_ 
)
static

Make a general plane f(x,y,z) = ax + by + cz + d = 0

◆ make_plane_xy()

static void geomtools::quadric::make_plane_xy ( quadric q_,
double  c_ 
)
static

Make a XY plane at z=c f(x,y,z) = z - c = 0

◆ make_plane_xz()

static void geomtools::quadric::make_plane_xz ( quadric q_,
double  b_ 
)
static

Make a XZ plane at y=b f(x,y,z) = y - b = 0

◆ make_plane_yz()

static void geomtools::quadric::make_plane_yz ( quadric q_,
double  a_ 
)
static

Make a YZ plane at x=a f(x,y,z) = x - a = 0

◆ make_sphere()

static void geomtools::quadric::make_sphere ( quadric q_,
double  a_ 
)
static

Make sphere f(x,y,z) = (x/a)2 + (y/a)2 + (z/a)2 - 1 = 0

◆ make_spheroid_along_z()

static void geomtools::quadric::make_spheroid_along_z ( quadric q_,
double  a_,
double  b_ 
)
static

Make spheroid along Z axis f(x,y,z) = (x/a)2 + (y/a)2 + (z/b)2 - 1 = 0

◆ orthogonal_projection()

geomtools::vector_3d geomtools::quadric::orthogonal_projection ( const geomtools::vector_3d position_,
double  skin_ = GEOMTOOLS_PROPER_TOLERANCE 
) const

Compute the orthogonal projection from a position.

◆ projection()

geomtools::vector_3d geomtools::quadric::projection ( const geomtools::vector_3d position_,
const geomtools::vector_3d direction_,
double  skin_ = GEOMTOOLS_PROPER_TOLERANCE 
) const

Compute the projection from a position along a direction.

◆ quadric_label()

static const std::string& geomtools::quadric::quadric_label ( )
static

Return the identifier label for the class.

◆ reset()

void geomtools::quadric::reset ( )
virtual

Reset.

Reimplemented from geomtools::i_object_3d.

◆ set_coefficient()

void geomtools::quadric::set_coefficient ( coef_index  ,
double   
)

Set the coefficient at given rank.

◆ tree_dump()

virtual void geomtools::quadric::tree_dump ( std::ostream &  out_ = std::clog,
const std::string &  title_ = "",
const std::string &  indent_ = "",
bool  inherit_ = false 
) const
virtual

Smart print.

Reimplemented from geomtools::i_object_3d.


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