Rhino C++ API
8.10
|
#include <opennurbs_point.h>
Public Member Functions | |
const ON_SurfaceCurvature | FlipSurfaceOrientation () const |
The sign of the principal curvatures are with respect to a choice of surface orientation. This function returns the principal curvatures of the surface with opposite choice of orientation. More... | |
double | GaussianCurvature () const |
The Gaussian curvature is k1*k2. More... | |
bool | IsNan () const |
| |
bool | IsSet () const |
| |
bool | IsUnset () const |
| |
bool | IsZero () const |
| |
double | KappaValue (ON::curvature_style kappa_style) const |
Calculate one of the four typical curvature values associated with the two principal curvatures and frequently used in false color curvature analysis. More... | |
double | MaximumPrincipalCurvature () const |
double | MaximumRadius () const |
If a principal curvature value is zero or the principal curvatures have opposite signs, then the maximum radius of curvature is infinite and ON_SurfaceCurvature::InfiniteRadius is returned. Otherwise the maximum radius of curvature is 1/min(fabs(k1),fabs(k2)). More... | |
double | MeanCurvature () const |
The mean curvature is (k1+k2)/2. More... | |
double | MinimumPrincipalCurvature () const |
double | MinimumRadius () const |
The minimum radius of curvature is 1/max(fabs(k1),fabs(k2)). Infinite radius values are returned as ON_SurfaceCurvature::InfiniteRadius. More... | |
Static Public Member Functions | |
static int | Compare (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Dictionary compare k1 and k2. Values with nans sort last. More... | |
static int | CompareGaussianCurvature (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Compare lhs.GaussianCurvature() and rhs.GaussianCurvature(). Values with nans sort last. More... | |
static int | CompareMaximumAndMinimumPrincipalCurvatures (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Dictionary compare lhs.MaximumPrincipalCurvature() and rhs.MaximumPrincipalCurvature(). Values with nans sort last. More... | |
static int | CompareMaximumPrincipalCurvature (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Compare lhs.MaximumPrincipalCurvature() and rhs.MaximumPrincipalCurvature(). Values with nans sort last. More... | |
static int | CompareMaximumRadius (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Compare lhs.MaximumRadius() and rhs.MaximumRadius(). Values with nans sort last. More... | |
static int | CompareMeanCurvature (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Compare lhs.MeanCurvature() and rhs.MeanCurvature(). Values with nans sort last. More... | |
static int | CompareMinimumPrincipalCurvature (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Compare lhs.MinimumPrincipalCurvature() and rhs.MinimumPrincipalCurvature(). Values with nans sort last. More... | |
static int | CompareMinimumRadius (const ON_SurfaceCurvature &lhs, const ON_SurfaceCurvature &rhs) |
Compare lhs.MinimumRadius() and rhs.MinimumRadius(). Values with nans sort last. More... | |
static const ON_SurfaceCurvature | CreateFromGaussianAndMeanCurvatures (double gaussian_curvature, double mean_curvature) |
Create an ON_SurfaceCurvature from a gaussian and mean curvature values using the relationship between the principal curvatures, gaussian and mean. k1 = mean + sqrt(mean*mean - gaussian) k2 = mean - sqrt(mean*mean - gaussian) If the radicand is negative, we assume we're dealing with a bit of numerical noise or estimates and set the principal curvatures k1 = k2 = sign(mean)*sqrt(gaussian) More... | |
static const ON_SurfaceCurvature | CreateFromPrincipalCurvatures (double k1, double k2) |
Create an ON_SurfaceCurvature from the principal curvature values. The principal curvature values are the most fundamental curvature properties of a surface. Other curvatures are calculated from them. For example gaussian curvature = k1 * k2 and mean curvature = (k1 + k2)/2. More... | |
Public Attributes | |
double | k1 |
double | k2 |
principal curvatures More... | |
Static Public Attributes | |
static const double | InfinteRadius |
Value used to indicate a radius of curvature is infinite (1e300). More... | |
static const ON_SurfaceCurvature | Nan |
k1 = k2 = ON_DBL_QNAN More... | |
static const ON_SurfaceCurvature | Zero |
k1 = k2 = 0 More... | |
|
static |
Dictionary compare k1 and k2. Values with nans sort last.
lhs | |
rhs |
|
static |
Compare lhs.GaussianCurvature() and rhs.GaussianCurvature(). Values with nans sort last.
lhs | |
rhs |
|
static |
Dictionary compare lhs.MaximumPrincipalCurvature() and rhs.MaximumPrincipalCurvature(). Values with nans sort last.
lhs | |
rhs |
|
static |
Compare lhs.MaximumPrincipalCurvature() and rhs.MaximumPrincipalCurvature(). Values with nans sort last.
lhs | |
rhs |
|
static |
Compare lhs.MaximumRadius() and rhs.MaximumRadius(). Values with nans sort last.
lhs | |
rhs |
|
static |
Compare lhs.MeanCurvature() and rhs.MeanCurvature(). Values with nans sort last.
lhs | |
rhs |
|
static |
Compare lhs.MinimumPrincipalCurvature() and rhs.MinimumPrincipalCurvature(). Values with nans sort last.
lhs | |
rhs |
|
static |
Compare lhs.MinimumRadius() and rhs.MinimumRadius(). Values with nans sort last.
lhs | |
rhs |
|
static |
Create an ON_SurfaceCurvature from a gaussian and mean curvature values using the relationship between the principal curvatures, gaussian and mean. k1 = mean + sqrt(mean*mean - gaussian) k2 = mean - sqrt(mean*mean - gaussian) If the radicand is negative, we assume we're dealing with a bit of numerical noise or estimates and set the principal curvatures k1 = k2 = sign(mean)*sqrt(gaussian)
gaussian_curvature |
Gaussian curvature = k1*k2 (product of principal curvatures).
mean_curvature | Mean curvature = (k1+k2)/2 (average of principal curvatures). |
|
static |
Create an ON_SurfaceCurvature from the principal curvature values. The principal curvature values are the most fundamental curvature properties of a surface. Other curvatures are calculated from them. For example gaussian curvature = k1 * k2 and mean curvature = (k1 + k2)/2.
k1 | |
k2 |
const ON_SurfaceCurvature ON_SurfaceCurvature::FlipSurfaceOrientation | ( | ) | const |
The sign of the principal curvatures are with respect to a choice of surface orientation. This function returns the principal curvatures of the surface with opposite choice of orientation.
double ON_SurfaceCurvature::GaussianCurvature | ( | ) | const |
The Gaussian curvature is k1*k2.
bool ON_SurfaceCurvature::IsNan | ( | ) | const |
bool ON_SurfaceCurvature::IsSet | ( | ) | const |
bool ON_SurfaceCurvature::IsUnset | ( | ) | const |
bool ON_SurfaceCurvature::IsZero | ( | ) | const |
double ON_SurfaceCurvature::KappaValue | ( | ON::curvature_style | kappa_style | ) | const |
Calculate one of the four typical curvature values associated with the two principal curvatures and frequently used in false color curvature analysis.
kappa_style | Specifies which type curvature (Gaussian, mean, ...) value to calculate from the principal curvatures. The Gausian curvature can be positive or negative. The other curvatures are are >= 0. In particular, ON::curvature_style::mean_curvature return fabs(this->MeanCurvature()). |
double ON_SurfaceCurvature::MaximumPrincipalCurvature | ( | ) | const |
double ON_SurfaceCurvature::MaximumRadius | ( | ) | const |
If a principal curvature value is zero or the principal curvatures have opposite signs, then the maximum radius of curvature is infinite and ON_SurfaceCurvature::InfiniteRadius is returned. Otherwise the maximum radius of curvature is 1/min(fabs(k1),fabs(k2)).
double ON_SurfaceCurvature::MeanCurvature | ( | ) | const |
The mean curvature is (k1+k2)/2.
double ON_SurfaceCurvature::MinimumPrincipalCurvature | ( | ) | const |
double ON_SurfaceCurvature::MinimumRadius | ( | ) | const |
The minimum radius of curvature is 1/max(fabs(k1),fabs(k2)). Infinite radius values are returned as ON_SurfaceCurvature::InfiniteRadius.
|
static |
Value used to indicate a radius of curvature is infinite (1e300).
double ON_SurfaceCurvature::k1 |
double ON_SurfaceCurvature::k2 |
principal curvatures
|
static |
k1 = k2 = ON_DBL_QNAN
|
static |
k1 = k2 = 0