Trait truck_rendimpl::polymesh::Surface [−]
Parametric surface
Associated Types
type Point
The surface is in the space of Self::Point
.
type Vector
The derivation vector of the curve.
type Curve: Curve
The boundary curve
Required methods
pub fn subs(&self, u: f64, v: f64) -> Self::Point
Substitutes the parameter (u, v)
.
pub fn uder(&self, u: f64, v: f64) -> Self::Vector
Returns the derivation by u
.
pub fn vder(&self, u: f64, v: f64) -> Self::Vector
Returns the derivation by v
.
pub fn normal(&self, u: f64, v: f64) -> Self::Vector
Returns the normal vector at (u, v)
.
pub fn parameter_range(&self) -> ((f64, f64), (f64, f64))
The range of the parameter of the surface.
pub fn inverse(&self) -> Self
Returns the inverse of the surface.
pub fn include(&self, curve: &Self::Curve) -> bool
Returns whether the curve curve
is included in the surface self
.
Implementations on Foreign Types
impl Surface for ()
Implementation for the test of topological methods.
type Point = ()
type Vector = ()
type Curve = ()
pub fn subs(&self, f64, f64) -> <() as Surface>::Point
pub fn uder(&self, f64, f64) -> <() as Surface>::Vector
pub fn vder(&self, f64, f64) -> <() as Surface>::Vector
pub fn normal(&self, f64, f64) -> <() as Surface>::Vector
pub fn parameter_range(&self) -> ((f64, f64), (f64, f64))
pub fn inverse(&self)
pub fn include(&self, &()) -> bool
impl Surface for BSplineSurface<Vector3<f64>>
type Point = Point3<f64>
type Vector = Vector3<f64>
type Curve = BSplineCurve<Vector3<f64>>
pub fn subs(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Point
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Point
pub fn uder(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Vector
pub fn vder(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Vector
pub fn normal(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector3<f64>> as Surface>::Vector
pub fn parameter_range(&self) -> ((f64, f64), (f64, f64))
pub fn inverse(&self) -> BSplineSurface<Vector3<f64>>
pub fn include(&self, curve: &BSplineCurve<Vector3<f64>>) -> bool
impl Surface for BSplineSurface<Vector2<f64>>
type Point = Point2<f64>
type Vector = Vector2<f64>
type Curve = BSplineCurve<Vector2<f64>>
pub fn subs(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Point
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Point
pub fn uder(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Vector
pub fn vder(
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Vector
pub fn normal(
&self,
f64,
f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Vector
&self,
f64,
f64
) -> <BSplineSurface<Vector2<f64>> as Surface>::Vector
zero identity
pub fn parameter_range(&self) -> ((f64, f64), (f64, f64))
pub fn inverse(&self) -> BSplineSurface<Vector2<f64>>
pub fn include(&self, curve: &BSplineCurve<Vector2<f64>>) -> bool
impl Surface for NURBSSurface<Vector4<f64>>
type Point = Point3<f64>
type Vector = Vector3<f64>
type Curve = NURBSCurve<Vector4<f64>>
pub fn subs(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Point
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Point
pub fn uder(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Vector
pub fn vder(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Vector
pub fn normal(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector4<f64>> as Surface>::Vector
pub fn parameter_range(&self) -> ((f64, f64), (f64, f64))
pub fn inverse(&self) -> NURBSSurface<Vector4<f64>>
pub fn include(
&self,
curve: &<NURBSSurface<Vector4<f64>> as Surface>::Curve
) -> bool
&self,
curve: &<NURBSSurface<Vector4<f64>> as Surface>::Curve
) -> bool
impl Surface for NURBSSurface<Vector3<f64>>
type Point = Point2<f64>
type Vector = Vector2<f64>
type Curve = NURBSCurve<Vector3<f64>>
pub fn subs(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Point
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Point
pub fn uder(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Vector
pub fn vder(
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Vector
&self,
u: f64,
v: f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Vector
pub fn normal(
&self,
f64,
f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Vector
&self,
f64,
f64
) -> <NURBSSurface<Vector3<f64>> as Surface>::Vector
zero identity
pub fn parameter_range(&self) -> ((f64, f64), (f64, f64))
pub fn inverse(&self) -> NURBSSurface<Vector3<f64>>
pub fn include(
&self,
curve: &<NURBSSurface<Vector3<f64>> as Surface>::Curve
) -> bool
&self,
curve: &<NURBSSurface<Vector3<f64>> as Surface>::Curve
) -> bool