MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::Features::Primitives::ConeSegment Struct Reference

#include <MRFeatures.h>

Public Member Functions

bool isZeroRadius () const
 
bool isCircle () const
 
float length () const
 Returns the length. Can be infinite.
 
MRMESH_API Sphere centerPoint () const
 
MRMESH_API ConeSegment extendToInfinity (bool negative) const
 Extends the object to infinity in one direction. The radius in the extended direction becomes equal to the radius in the opposite direction.
 
MRMESH_API ConeSegment extendToInfinity () const
 
MRMESH_API ConeSegment untruncateCone () const
 Untruncates a truncated cone. If it's not a cone at all, returns the object unchanged and triggers an assertion.
 
MRMESH_API ConeSegment axis () const
 Returns a finite axis. For circles, you might want to immediately extendToInfinity() it.
 
MRMESH_API Sphere basePoint (bool negative) const
 Returns a center of one of the two base circles.
 
MRMESH_API Plane basePlane (bool negative) const
 Returns one of the two base planes.
 
MRMESH_API ConeSegment baseCircle (bool negative) const
 Returns one of the two base circles.
 

Public Attributes

Vector3f referencePoint
 Some point on the axis, but not necessarily the true center point. Use centerPoint() for that.
 
Vector3f dir
 The axis direction. Must be normalized.
 
float positiveSideRadius = 0
 Cap radius in the dir direction.
 
float negativeSideRadius = 0
 Cap radius in the direction opposite to dir.
 
float positiveLength = 0
 Distance from the center to the cap in the dir direction.
 
float negativeLength = 0
 Distance from the center to the cap in the direction opposite to dir.
 
bool hollow = false
 If true, the cone has no caps and no volume, and all distances (to the conical surface, that is) are positive.
 

Friends

bool operator== (const ConeSegment &, const ConeSegment &)=default
 

Detailed Description

Can have infinite length in one or two directions. The top and/or bottom can be flat or pointy. Doubles as a cylinder, line (finite or infinite), and a circle.


The documentation for this struct was generated from the following file: