hexed 0.4.0
 
Loading...
Searching...
No Matches
hexed::brep::Revolution_surface Class Reference

surface constructed by revolving a 3D curve about an arbitrary axis More...

#include <brep.hpp>

Inheritance diagram for hexed::brep::Revolution_surface:
hexed::brep::Parametric< 2 >

Public Member Functions

 Revolution_surface (Parametric< 1 > *generatrix, Line_segment axis, double start_angle=0, double end_angle=2 *constants::pi)
 
Mat< 3 > rotate (Mat< 3 > p, double angle) const
 Rotates p about the axis by angle.
 
Mat< 3 > point (Mat< 2 > params) const override
 
Mat< 2, 2 > orig_param_bounds () const override
 returns the parameter bounds in the original IGES definition (low, high)
 
- Public Member Functions inherited from hexed::brep::Parametric< 2 >
virtual Mat< 3 > point (Mat< n_param > params) const=0
 Obtains the point at parameters params.
 
virtual Mat< n_param, 2 > reparameterize (Mat< n_param, 2 > bounds)
 May reparameterize the entity to keep parameters in [0, 1].
 
virtual Mat< n_param, 2 > reparameterize (const std::vector< Mat< 3 > > &points)
 reparameterizes to contain the projections of points.
 

Detailed Description

surface constructed by revolving a 3D curve about an arbitrary axis

Constructor & Destructor Documentation

◆ Revolution_surface()

hexed::brep::Revolution_surface::Revolution_surface ( Parametric< 1 > * generatrix,
Line_segment axis,
double start_angle = 0,
double end_angle = 2 *constants::pi )
Parameters
generatrixCurve to be revolved. Acquires ownership of generatrix. Need not be coplanar with axis.
axisAxis about which to revolve generatrix. The length does not matter, but the direction does, because it determines the direction of rotation by the right hand rule. Thus swapping the endpoints reverses the sense of rotation.
start_angleSame behavior and requirements as for Circular_arc::Circular_arc()
end_angleSame behavior and requirements as for Circular_arc::Circular_arc()

Member Function Documentation

◆ orig_param_bounds()

Mat< 2, 2 > hexed::brep::Revolution_surface::orig_param_bounds ( ) const
overridevirtual

returns the parameter bounds in the original IGES definition (low, high)

Implements hexed::brep::Parametric< 2 >.

◆ point()

Mat< 3 > hexed::brep::Revolution_surface::point ( Mat< 2 > params) const
override

param(0) specifies the point on the generatrix. param(1) specifies the angle of rotation such that param(1) = 0. yields start_angle and param(1) = 1. yields end_angle.

◆ rotate()

Mat< 3 > hexed::brep::Revolution_surface::rotate ( Mat< 3 > p,
double angle ) const

Rotates p about the axis by angle.

Helper function made available to you cause why not?


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