surface constructed by revolving a 3D curve about an arbitrary axis More...
#include <brep.hpp>
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. | |
surface constructed by revolving a 3D curve about an arbitrary axis
| hexed::brep::Revolution_surface::Revolution_surface | ( | Parametric< 1 > * | generatrix, |
| Line_segment | axis, | ||
| double | start_angle = 0, | ||
| double | end_angle = 2 *constants::pi ) |
| generatrix | Curve to be revolved. Acquires ownership of generatrix. Need not be coplanar with axis. |
| axis | Axis 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_angle | Same behavior and requirements as for Circular_arc::Circular_arc() |
| end_angle | Same behavior and requirements as for Circular_arc::Circular_arc() |
|
overridevirtual |
returns the parameter bounds in the original IGES definition (low, high)
Implements hexed::brep::Parametric< 2 >.
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.
Rotates p about the axis by angle.
Helper function made available to you cause why not?