23#ifndef VCL_SPACE_CORE_PRINCIPAL_CURVATURE_H
24#define VCL_SPACE_CORE_PRINCIPAL_CURVATURE_H
42template<
typename Scalar>
46 Scalar mK1 = 0, mK2 = 0;
73 if constexpr (std::is_same<Scalar, S>::value) {
142 vcl::serialize(
os, mK1);
143 vcl::serialize(
os, mK2);
154 vcl::deserialize(is, mK1);
155 vcl::deserialize(is, mK2);
164using PrincipalCurvaturef = PrincipalCurvature<float>;
169using PrincipalCurvatured = PrincipalCurvature<double>;
187 std::remove_cvref_t<T>,
188 PrincipalCurvature<typename RemoveRef<T>::ScalarType>>;
A class representing a box in N-dimensional space.
Definition box.h:46
void deserialize(std::istream &is)
Deserializes the box from the given input stream.
Definition box.h:476
void serialize(std::ostream &os) const
Serializes the box to the given output stream.
Definition box.h:466
The PrincipalCurvature class stores the principal curvature directions and values at a point on a 3D ...
Definition principal_curvature.h:44
const Point3< Scalar > & minDir() const
Returns a const reference to the minimum curvature direction.
Definition principal_curvature.h:102
void deserialize(std::istream &is)
Deserializes the principal curvature from the given input stream.
Definition principal_curvature.h:150
Scalar & maxValue()
Returns a reference to the maximum curvature value.
Definition principal_curvature.h:120
const Point3< Scalar > & maxDir() const
Returns a const reference to the maximum curvature direction.
Definition principal_curvature.h:90
Scalar ScalarType
The scalar type of the curvature values.
Definition principal_curvature.h:52
Point3< Scalar > & minDir()
Returns a reference to the minimum curvature direction.
Definition principal_curvature.h:108
auto cast() const
Casts the PrincipalCurvature object to a different scalar type.
Definition principal_curvature.h:71
const Scalar & minValue() const
Returns a const reference to the minimum curvature value.
Definition principal_curvature.h:126
Scalar & minValue()
Returns a reference to the minimum curvature value.
Definition principal_curvature.h:132
const Scalar & maxValue() const
Returns a const reference to the maximum curvature value.
Definition principal_curvature.h:114
Point3< Scalar > & maxDir()
Returns a reference to the maximum curvature direction.
Definition principal_curvature.h:96
PrincipalCurvature()
Empty constructor. Directions and values are set to 0.
Definition principal_curvature.h:57
void serialize(std::ostream &os) const
Serializes the principal curvature to the given output stream.
Definition principal_curvature.h:138
A concept representing a PrincipalCurvature.
Definition principal_curvature.h:185