pub struct Revolved {
pub frame: Frame,
pub profile: Profile,
pub on_axis: f64,
}Expand description
A surface swept by a profile turning about the z of frame: the
profile lies in the half plane of frame.x at angle 0.
Fields§
§frame: Frame§profile: Profile§on_axis: f64How close to the axis a point is on it, and has no angle: the file’s uncertainty.
Implementations§
Source§impl Revolved
impl Revolved
Sourcepub fn chart(&self, p: P3) -> (Option<f64>, f64)
pub fn chart(&self, p: P3) -> (Option<f64>, f64)
The angle of p about the axis, and its profile parameter where
the profile is analytic — None for the angle of a point on the
axis, which has none.
Sourcepub fn iso_line(&self, shape: &Shape, uncertainty: f64) -> bool
pub fn iso_line(&self, shape: &Shape, uncertainty: f64) -> bool
Whether a curve of shape lying on this surface runs along a line
of one parameter of its patches, to within uncertainty, the file’s
statement of which places are one: a circle about its axis is a
parallel, at one profile parameter, and a line in a plane through
its axis a meridian, at one angle. On a patch its pcurve is then
straight.
Sourcepub fn past_axis(&self, p: P3) -> Option<f64>
pub fn past_axis(&self, p: P3) -> Option<f64>
For a circle crossing the axis, how much nearer p lies to the
sheet its arc past the axis turns into than to the one its arc on
this side does: positive where p is on the sheet past the axis.
Sourcepub fn mirrored(&self) -> Revolved
pub fn mirrored(&self) -> Revolved
The sheet the arc of a circle crossing the axis past it turns into, as a surface of its own: the circle mirrored in the axis, turned on this side. Its profile parameter runs the other way round the circle, so its normal is the other way round to the file’s.
Sourcepub fn v_is_angle(&self) -> bool
pub fn v_is_angle(&self) -> bool
Whether the profile’s parameter v goes once round, as a torus’
does: then it is an angle too.
Sourcepub fn poles(&self) -> Vec<f64>
pub fn poles(&self) -> Vec<f64>
Where the profile meets the axis, by its parameter: the poles of the surface.
Sourcepub fn profile_point(&self, v: f64) -> P3
pub fn profile_point(&self, v: f64) -> P3
The profile’s point at v, in the half plane at angle 0.
Sourcepub fn profile_curve(&self, v0: f64, v1: f64) -> GeopResult<NurbCurve3D>
pub fn profile_curve(&self, v0: f64, v1: f64) -> GeopResult<NurbCurve3D>
The profile from v0 to v1 as a curve, in the half plane at
angle 0 — the whole curve, for a profile that is one.
Sourcepub fn parallel(&self, v: f64, from: f64, to: f64) -> GeopResult<NurbCurve3D>
pub fn parallel(&self, v: f64, from: f64, to: f64) -> GeopResult<NurbCurve3D>
The parallel at the profile parameter v — the circle about the
axis the profile’s point there turns along — from the angle from
counter-clockwise about the axis to to: all the way round where
they are one.
pub fn axis(&self) -> GeopResult<Axis>
Sourcepub fn patch(
&self,
from: f64,
to: f64,
v0: f64,
v1: f64,
) -> GeopResult<NurbSurface3D>
pub fn patch( &self, from: f64, to: f64, v0: f64, v1: f64, ) -> GeopResult<NurbSurface3D>
The surface between the angles from and to and, where the
profile is analytic, the profile parameters v0 and v1.
Sourcepub fn turn(&self, angle: f64) -> GeopResult<Pose>
pub fn turn(&self, angle: f64) -> GeopResult<Pose>
The motion turning by angle radians about the axis.