MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::Features Namespace Reference

Namespaces

namespace  Const_MeasureResult
 
namespace  Primitives
 
namespace  Traits
 Traits that determine how the primitives are related.
 

Classes

class  _ByValue_MeasureResult
 
class  _ByValue_SubfeatureInfo
 
class  _InOptConst_MeasureResult
 
class  _InOptConst_SubfeatureInfo
 
class  _InOptMut_MeasureResult
 
class  _InOptMut_SubfeatureInfo
 
class  Const_MeasureResult
 
class  Const_SubfeatureInfo
 
class  MeasureResult
 Stores the results of measuring two objects relative to one another.
 
class  Primitives
 
class  SubfeatureInfo
 
class  Traits
 

Concepts

concept  MeasureSupported
 

Functions

Primitives::Sphere toPrimitive (const Vector3f &point)
 
Primitives::Sphere toPrimitive (const Sphere3f &sphere)
 
MRMESH_API Primitives::ConeSegment toPrimitive (const Line3f &line)
 
MRMESH_API Primitives::ConeSegment toPrimitive (const LineSegm3f &segm)
 
Primitives::ConeSegment toPrimitive (const Cylinder3f &cyl)
 
Primitives::ConeSegment toPrimitive (const Cone3f &cone)
 
MRMESH_API Primitives::ConeSegment primitiveCircle (const Vector3f &point, const Vector3f &normal, float rad)
 normal doesn't need to be normalized.
 
MRMESH_API Primitives::ConeSegment primitiveCylinder (const Vector3f &a, const Vector3f &b, float rad)
 a and b are centers of the sides.
 
MRMESH_API Primitives::ConeSegment primitiveCone (const Vector3f &a, const Vector3f &b, float rad)
 a is the center of the base, b is the pointy end.
 
MRMESH_API std::optional< Primitives::Variant > primitiveFromObject (const Object &object)
 
MRMESH_API std::optional< Primitives::Variant > primitiveFromObjectWithWorldXf (const Object &object)
 
MRMESH_API std::shared_ptr< FeatureObjectprimitiveToObject (const Primitives::Variant &primitive, float infiniteExtent)
 
MRMESH_API Primitives::Sphere transformPrimitive (const AffineXf3f &xf, const Primitives::Sphere &primitive)
 
MRMESH_API Primitives::Plane transformPrimitive (const AffineXf3f &xf, const Primitives::Plane &primitive)
 
MRMESH_API Primitives::ConeSegment transformPrimitive (const AffineXf3f &xf, const Primitives::ConeSegment &primitive)
 
MRMESH_API Primitives::Variant transformPrimitive (const AffineXf3f &xf, const Primitives::Variant &primitive)
 
MRMESH_API std::string_view toString (MeasureResult::Status status)
 
template<typename T >
std::string name (const T &primitive)
 
MRMESH_API std::string name (const Primitives::Variant &var)
 
template<typename A , typename B >
requires MeasureSupported<A, B>
MeasureResult measure (const A &a, const B &b)
 
template<typename B >
MeasureResult measure (const Primitives::Variant &a, const B &b)
 
template<typename A >
MeasureResult measure (const A &a, const Primitives::Variant &b)
 
MRMESH_API MeasureResult measure (const Primitives::Variant &a, const Primitives::Variant &b)
 
MRMESH_API void forEachSubfeature (const Features::Primitives::Variant &feature, const SubfeatureFunc &func)
 
MRVIEWER_API void forEachVisualSubfeature (const Features::Primitives::Variant &params, const Features::SubfeatureFunc &func)
 

Function Documentation

◆ forEachSubfeature()

MRMESH_API void MR::Features::forEachSubfeature ( const Features::Primitives::Variant & feature,
const SubfeatureFunc & func )

◆ forEachVisualSubfeature()

MRVIEWER_API void MR::Features::forEachVisualSubfeature ( const Features::Primitives::Variant & params,
const Features::SubfeatureFunc & func )

◆ measure() [1/4]

template<typename A , typename B >
requires MeasureSupported<A, B>
MeasureResult MR::Features::measure ( const A & a,
const B & b )
nodiscard

◆ measure() [2/4]

template<typename A >
MeasureResult MR::Features::measure ( const A & a,
const Primitives::Variant & b )
nodiscard

◆ measure() [3/4]

template<typename B >
MeasureResult MR::Features::measure ( const Primitives::Variant & a,
const B & b )
nodiscard

◆ measure() [4/4]

MRMESH_API MeasureResult MR::Features::measure ( const Primitives::Variant & a,
const Primitives::Variant & b )
nodiscard

◆ name() [1/2]

MRMESH_API std::string MR::Features::name ( const Primitives::Variant & var)
nodiscard

◆ name() [2/2]

template<typename T >
std::string MR::Features::name ( const T & primitive)
nodiscard

◆ primitiveCircle()

MRMESH_API Primitives::ConeSegment MR::Features::primitiveCircle ( const Vector3f & point,
const Vector3f & normal,
float rad )
nodiscard

normal doesn't need to be normalized.

◆ primitiveCone()

MRMESH_API Primitives::ConeSegment MR::Features::primitiveCone ( const Vector3f & a,
const Vector3f & b,
float rad )
nodiscard

a is the center of the base, b is the pointy end.

◆ primitiveCylinder()

MRMESH_API Primitives::ConeSegment MR::Features::primitiveCylinder ( const Vector3f & a,
const Vector3f & b,
float rad )
nodiscard

a and b are centers of the sides.

◆ primitiveFromObject()

MRMESH_API std::optional< Primitives::Variant > MR::Features::primitiveFromObject ( const Object & object)
nodiscard

◆ primitiveFromObjectWithWorldXf()

MRMESH_API std::optional< Primitives::Variant > MR::Features::primitiveFromObjectWithWorldXf ( const Object & object)
nodiscard

◆ primitiveToObject()

MRMESH_API std::shared_ptr< FeatureObject > MR::Features::primitiveToObject ( const Primitives::Variant & primitive,
float infiniteExtent )
nodiscard

◆ toPrimitive() [1/6]

Primitives::ConeSegment MR::Features::toPrimitive ( const Cone3f & cone)
inlinenodiscard

◆ toPrimitive() [2/6]

Primitives::ConeSegment MR::Features::toPrimitive ( const Cylinder3f & cyl)
inlinenodiscard

◆ toPrimitive() [3/6]

MRMESH_API Primitives::ConeSegment MR::Features::toPrimitive ( const Line3f & line)
nodiscard

◆ toPrimitive() [4/6]

MRMESH_API Primitives::ConeSegment MR::Features::toPrimitive ( const LineSegm3f & segm)
nodiscard

◆ toPrimitive() [5/6]

Primitives::Sphere MR::Features::toPrimitive ( const Sphere3f & sphere)
inlinenodiscard

◆ toPrimitive() [6/6]

Primitives::Sphere MR::Features::toPrimitive ( const Vector3f & point)
inlinenodiscard

◆ toString()

MRMESH_API std::string_view MR::Features::toString ( MeasureResult::Status status)
nodiscard

◆ transformPrimitive() [1/4]

MRMESH_API Primitives::ConeSegment MR::Features::transformPrimitive ( const AffineXf3f & xf,
const Primitives::ConeSegment & primitive )
nodiscard

◆ transformPrimitive() [2/4]

MRMESH_API Primitives::Plane MR::Features::transformPrimitive ( const AffineXf3f & xf,
const Primitives::Plane & primitive )
nodiscard

◆ transformPrimitive() [3/4]

MRMESH_API Primitives::Sphere MR::Features::transformPrimitive ( const AffineXf3f & xf,
const Primitives::Sphere & primitive )
nodiscard

◆ transformPrimitive() [4/4]

MRMESH_API Primitives::Variant MR::Features::transformPrimitive ( const AffineXf3f & xf,
const Primitives::Variant & primitive )
nodiscard