MeshLib
 
Loading...
Searching...
No Matches
MR::ConeObject Class Reference

#include <MRConeObject.h>

+ Inheritance diagram for MR::ConeObject:

Public Member Functions

MRMESH_API ConeObject ()
 Creates simple Cone object with center in zero and radius - 1.
 
MRMESH_API ConeObject (const std::vector< Vector3f > &pointsToApprox)
 Finds best Cone to approx given points.
 
 ConeObject (ConeObject &&) noexcept=default
 
ConeObjectoperator= (ConeObject &&) noexcept=default
 
virtual const char * typeName () const override
 
 ConeObject (ProtectedStruct, const ConeObject &obj)
 
virtual std::string getClassName () const override
 return human readable name of subclass
 
virtual MRMESH_API std::shared_ptr< Objectclone () const override
 
virtual MRMESH_API std::shared_ptr< ObjectshallowClone () const override
 
MRMESH_API float getAngle (ViewportId id={}) const
 calculates cone angle from xf. It is an angle betweeh main axis and side.
 
MRMESH_API Vector3f getCenter (ViewportId id={}) const
 calculates center from xf. Center is the apex of the cone.
 
MRMESH_API float getHeight (ViewportId id={}) const
 calculates cone height from xf
 
MRMESH_API Vector3f getDirection (ViewportId id={}) const
 calculates main axis direction from xf
 
MRMESH_API void setCenter (const Vector3f &center, ViewportId id={})
 updates xf to fit given center. Center is the apex of the cone.
 
MRMESH_API void setDirection (const Vector3f &normal, ViewportId id={})
 updates xf to fit main axis
 
MRMESH_API void setHeight (float height, ViewportId id={})
 updates xf to fit cone height
 
MRMESH_API void setAngle (float angle, ViewportId id={})
 updates xf to fit given cone angle. It is an angle betweeh main axis and side
 
MRMESH_API float getBaseRadius (ViewportId id={}) const
 Computes the base base radius from the xf.
 
MRMESH_API void setBaseRadius (float radius, ViewportId id={})
 Updates the xf for the new base radius.
 
virtual MRMESH_API Vector3f getBasePoint (ViewportId id={}) const override
 
virtual MRMESH_API const std::vector< FeatureObjectSharedProperty > & getAllSharedProperties () const override
 Create and generate list of bounded getters and setters for the main properties of feature object, together with prop. name for display and edit into UI.
 
MRMESH_API FeatureObjectProjectPointResult projectPoint (const Vector3f &point, ViewportId id={}) const override
 
- Public Member Functions inherited from MR::AddVisualProperties< FeatureObject, DimensionsVisualizePropertyType::diameter, DimensionsVisualizePropertyType::angle, DimensionsVisualizePropertyType::length >
bool supportsVisualizeProperty (AnyVisualizeMaskEnum type) const override
 
AllVisualizeProperties getAllVisualizeProperties () const override
 
const ViewportMaskgetVisualizePropertyMask (AnyVisualizeMaskEnum type) const override
 
- Public Member Functions inherited from MR::FeatureObject
MRMESH_API bool supportsVisualizeProperty (AnyVisualizeMaskEnum type) const override
 Returns true if this class supports the property type. Otherwise passing it to the functions below is illegal.
 
MRMESH_API AllVisualizeProperties getAllVisualizeProperties () const override
 get all visualize properties masks
 
MRMESH_API const ViewportMaskgetVisualizePropertyMask (AnyVisualizeMaskEnum type) const override
 returns mask of viewports where given property is set
 
MRMESH_API void serializeFields_ (Json::Value &root) const override
 
MRMESH_API void deserializeFields_ (const Json::Value &root) override
 
MRMESH_API std::optional< Vector3fgetNormal (const Vector3f &point) const
 
MRMESH_API void setXf (const AffineXf3f &xf, ViewportId id={}) override
 
MRMESH_API void resetXf (ViewportId id={}) override
 forgets specific transform in given viewport (or forgets all specific transforms for {} input)
 
Matrix3f getRotationMatrix (ViewportId id={}, bool *isDef=nullptr) const
 
Matrix3f getScaleShearMatrix (ViewportId id={}, bool *isDef=nullptr) const
 
MRMESH_API const ColorgetDecorationsColor (bool selected, ViewportId viewportId={}, bool *isDef=nullptr) const
 
virtual MRMESH_API void setDecorationsColor (const Color &color, bool selected, ViewportId viewportId={})
 
virtual MRMESH_API const ViewportProperty< Color > & getDecorationsColorForAllViewports (bool selected) const
 
virtual MRMESH_API void setDecorationsColorForAllViewports (ViewportProperty< Color > val, bool selected)
 
virtual MRMESH_API float getPointSize () const
 
virtual MRMESH_API float getLineWidth () const
 
virtual MRMESH_API void setPointSize (float pointSize)
 
virtual MRMESH_API void setLineWidth (float lineWidth)
 
virtual MRMESH_API float getSubfeaturePointSize () const
 
virtual MRMESH_API float getSubfeatureLineWidth () const
 
virtual MRMESH_API void setSubfeaturePointSize (float pointSize)
 
virtual MRMESH_API void setSubfeatureLineWidth (float lineWidth)
 
virtual MRMESH_API float getMainFeatureAlpha () const
 
virtual MRMESH_API float getSubfeatureAlphaPoints () const
 
virtual MRMESH_API float getSubfeatureAlphaLines () const
 
virtual MRMESH_API float getSubfeatureAlphaMesh () const
 
virtual MRMESH_API void setMainFeatureAlpha (float alpha)
 
virtual MRMESH_API void setSubfeatureAlphaPoints (float alpha)
 
virtual MRMESH_API void setSubfeatureAlphaLines (float alpha)
 
virtual MRMESH_API void setSubfeatureAlphaMesh (float alpha)
 
- Public Member Functions inherited from MR::VisualObject
MRMESH_API VisualObject ()
 
 VisualObject (VisualObject &&)=default
 
VisualObjectoperator= (VisualObject &&)=default
 
virtual ~VisualObject ()=default
 
MRMESH_API void setVisualizeProperty (bool value, AnyVisualizeMaskEnum type, ViewportMask viewportMask)
 set visual property in all viewports specified by the mask
 
virtual MRMESH_API void setVisualizePropertyMask (AnyVisualizeMaskEnum type, ViewportMask viewportMask)
 set visual property mask
 
MRMESH_API bool getVisualizeProperty (AnyVisualizeMaskEnum type, ViewportMask viewportMask) const
 returns true if the property is set at least in one viewport specified by the mask
 
MRMESH_API void toggleVisualizeProperty (AnyVisualizeMaskEnum type, ViewportMask viewportMask)
 toggle visual property in all viewports specified by the mask
 
void setAllVisualizeProperties (const AllVisualizeProperties &properties)
 set all visualize properties masks
 
void showLabels (bool on)
 shows/hides labels
 
bool showLabels () const
 
void showName (bool on)
 shows/hides object name in all viewports
 
bool showName () const
 returns whether object name is shown in any viewport
 
MRMESH_API const ColorgetFrontColor (bool selected=true, ViewportId viewportId={}) const
 returns color of object when it is selected/not-selected (depending on argument) in given viewport
 
virtual MRMESH_API void setFrontColor (const Color &color, bool selected, ViewportId viewportId={})
 sets color of object when it is selected/not-selected (depending on argument) in given viewport
 
virtual MRMESH_API const ViewportProperty< Color > & getFrontColorsForAllViewports (bool selected=true) const
 returns color of object when it is selected/not-selected (depending on argument) in all viewports
 
virtual MRMESH_API void setFrontColorsForAllViewports (ViewportProperty< Color > val, bool selected=true)
 sets color of object when it is selected/not-selected (depending on argument) in all viewports
 
virtual MRMESH_API const ViewportProperty< Color > & getBackColorsForAllViewports () const
 returns backward color of object in all viewports
 
virtual MRMESH_API void setBackColorsForAllViewports (ViewportProperty< Color > val)
 sets backward color of object in all viewports
 
MRMESH_API const ColorgetBackColor (ViewportId viewportId={}) const
 returns backward color of object in given viewport
 
virtual MRMESH_API void setBackColor (const Color &color, ViewportId viewportId={})
 sets backward color of object in given viewport
 
MRMESH_API const uint8_t & getGlobalAlpha (ViewportId viewportId={}) const
 returns global transparency alpha of object in given viewport
 
virtual MRMESH_API void setGlobalAlpha (uint8_t alpha, ViewportId viewportId={})
 sets global transparency alpha of object in given viewport
 
virtual MRMESH_API const ViewportProperty< uint8_t > & getGlobalAlphaForAllViewports () const
 returns global transparency alpha of object in all viewports
 
virtual MRMESH_API void setGlobalAlphaForAllViewports (ViewportProperty< uint8_t > val)
 sets global transparency alpha of object in all viewports
 
MRMESH_API const ColorgetLabelsColor (ViewportId viewportId={}) const
 
virtual MRMESH_API void setLabelsColor (const Color &color, ViewportId viewportId={})
 
MRMESH_API const ViewportProperty< Color > & getLabelsColorsForAllViewports () const
 
virtual MRMESH_API void setLabelsColorsForAllViewports (ViewportProperty< Color > val)
 
virtual MRMESH_API void setDirtyFlags (uint32_t mask, bool invalidateCaches=true)
 
MRMESH_API uint32_t getDirtyFlags () const
 returns current dirty flags for the object
 
MRMESH_API void resetDirty () const
 resets all dirty flags (except for cache flags that will be reset automatically on cache update)
 
MRMESH_API Box3f getBoundingBox () const
 returns cached bounding box of this object in local coordinates
 
virtual MRMESH_API Box3f getWorldBox (ViewportId={}) const override
 
virtual bool getRedrawFlag (ViewportMask viewportMask) const override
 returns true if the object must be redrawn (due to dirty flags) in one of specified viewports
 
bool isPickable (ViewportMask viewportMask=ViewportMask::any()) const
 whether the object can be picked (by mouse) in any of given viewports
 
virtual MRMESH_API void setPickable (bool on, ViewportMask viewportMask=ViewportMask::all())
 sets the object as can/cannot be picked (by mouse) in all of given viewports
 
const VertColors & getVertsColorMap () const
 returns per-vertex colors of the object
 
virtual void setVertsColorMap (VertColors vertsColorMap)
 sets per-vertex colors of the object
 
virtual void updateVertsColorMap (VertColors &vertsColorMap)
 swaps per-vertex colors of the object with given argument
 
ColoringType getColoringType () const
 returns the current coloring mode of the object
 
virtual MRMESH_API void setColoringType (ColoringType coloringType)
 sets coloring mode of the object with given argument
 
virtual MRMESH_API void copyColors (const VisualObject &src, const VertMap &thisToSrc, const FaceMap &thisToSrcFaces={})
 copies point colors from given source object
 
float getShininess () const
 returns the current shininess visual value
 
virtual void setShininess (float shininess)
 sets shininess visual value of the object with given argument
 
float getSpecularStrength () const
 returns intensity of reflections
 
virtual void setSpecularStrength (float specularStrength)
 sets intensity of reflections
 
float getAmbientStrength () const
 returns intensity of non-directional light
 
virtual void setAmbientStrength (float ambientStrength)
 sets intensity of non-directional light
 
const std::vector< PositionedText > & getLabels () const
 
virtual void setLabels (std::vector< PositionedText > labels)
 
virtual MRMESH_API bool render (const ModelRenderParams &) const
 
virtual MRMESH_API void renderForPicker (const ModelBaseRenderParams &, unsigned) const
 draws this object for picking
 
virtual MRMESH_API void renderUi (const UiRenderParams &params) const
 draws this object for 2d UI
 
 VisualObject (ProtectedStruct, const VisualObject &obj)
 this ctor is public only for std::make_shared used inside clone()
 
virtual MRMESH_API size_t heapBytes () const override
 returns the amount of memory this object occupies on heap
 
virtual MRMESH_API std::vector< std::string > getInfoLines () const override
 return several info lines that can better describe the object in the UI
 
MRMESH_API bool useDefaultScenePropertiesOnDeserialization () const
 
MRMESH_API void setUseDefaultScenePropertiesOnDeserialization (bool useDefaultScenePropertiesOnDeserialization)
 
- Public Member Functions inherited from MR::Object
 Object ()=default
 
 Object (Object &&) noexcept=default
 
Objectoperator= (Object &&) noexcept=default
 
virtual ~Object ()=default
 
template<typename T >
T * asType ()
 
template<typename T >
const T * asType () const
 
const std::string & name () const
 
virtual void setName (std::string name)
 
MRMESH_API std::shared_ptr< const Objectfind (const std::string_view &name) const
 finds a direct child by name
 
std::shared_ptr< Objectfind (const std::string_view &name)
 
template<typename T >
std::shared_ptr< const T > find () const
 finds a direct child by type
 
template<typename T >
std::shared_ptr< T > find ()
 
template<typename T >
std::shared_ptr< const T > find (const std::string_view &name) const
 finds a direct child by name and type
 
template<typename T >
std::shared_ptr< T > find (const std::string_view &name)
 
const AffineXf3fxf (ViewportId id={}, bool *isDef=nullptr) const
 
const ViewportProperty< AffineXf3f > & xfsForAllViewports () const
 returns xfs for all viewports, combined into a single object
 
virtual void setXfsForAllViewports (ViewportProperty< AffineXf3f > xf)
 modifies xfs for all viewports at once
 
MRMESH_API AffineXf3f worldXf (ViewportId id={}, bool *isDef=nullptr) const
 
MRMESH_API void setWorldXf (const AffineXf3f &xf, ViewportId id={})
 
virtual MRMESH_API void applyScale (float scaleFactor)
 scale object size (all point positions)
 
MRMESH_API ViewportMask globalVisibilityMask () const
 returns all viewports where this object is visible together with all its parents
 
bool globalVisibility (ViewportMask viewportMask=ViewportMask::any()) const
 returns true if this object is visible together with all its parents in any of given viewports
 
MRMESH_API void setGlobalVisibility (bool on, ViewportMask viewportMask=ViewportMask::any())
 if true sets all predecessors visible, otherwise sets this object invisible
 
bool isLocked () const
 object properties lock for UI
 
virtual void setLocked (bool on)
 
bool isParentLocked () const
 
virtual void setParentLocked (bool lock)
 
const Objectparent () const
 returns parent object in the tree
 
Objectparent ()
 
MRMESH_API bool isAncestor (const Object *ancestor) const
 return true if given object is ancestor of this one, false otherwise
 
MRMESH_API ObjectfindCommonAncestor (Object &other)
 
const ObjectfindCommonAncestor (const Object &other) const
 
virtual MRMESH_API bool detachFromParent ()
 
const std::vector< std::shared_ptr< Object > > & children ()
 an object can hold other sub-objects
 
const std::vector< std::shared_ptr< const Object > > & children () const
 
virtual MRMESH_API bool addChild (std::shared_ptr< Object > child, bool recognizedChild=true)
 
virtual MRMESH_API bool addChildBefore (std::shared_ptr< Object > newChild, const std::shared_ptr< Object > &existingChild)
 
bool removeChild (const std::shared_ptr< Object > &child)
 returns false if it was not child of this
 
virtual MRMESH_API bool removeChild (Object *child)
 
virtual MRMESH_API void removeAllChildren ()
 detaches all recognized children from this, keeping all unrecognized ones
 
MRMESH_API void sortChildren ()
 sort recognized children by name
 
virtual MRMESH_API bool select (bool on)
 selects the object, returns true if value changed, otherwise returns false
 
virtual bool isSelected () const
 
virtual MRMESH_API void setAncillary (bool ancillary)
 
bool isAncillary () const
 
MRMESH_API void setVisible (bool on, ViewportMask viewportMask=ViewportMask::all())
 sets the object visible in the viewports specified by the mask (by default in all viewports)
 
bool isVisible (ViewportMask viewportMask=ViewportMask::any()) const
 checks whether the object is visible in any of the viewports specified by the mask (by default in any viewport)
 
virtual MRMESH_API void setVisibilityMask (ViewportMask viewportMask)
 specifies object visibility as bitmask of viewports
 
virtual ViewportMask visibilityMask () const
 gets object visibility as bitmask of viewports
 
void resetRedrawFlag () const
 
MRMESH_API std::shared_ptr< ObjectcloneTree () const
 clones all tree of this object (except ancillary and unrecognized children)
 
MRMESH_API std::shared_ptr< ObjectshallowCloneTree () const
 
MRMESH_API Expected< std::vector< std::future< VoidOrErrStr > > > serializeRecursive (const std::filesystem::path &path, Json::Value &root, int childId) const
 
MRMESH_API VoidOrErrStr deserializeRecursive (const std::filesystem::path &path, const Json::Value &root, ProgressCallback progressCb={}, int *objCounter=nullptr)
 
MRMESH_API void swap (Object &other)
 
MRMESH_API Box3f getWorldTreeBox (ViewportId={}) const
 returns bounding box of this object and all children visible in given (or default) viewport in world coordinates
 
virtual bool hasVisualRepresentation () const
 does the object have any visual representation (visible points, triangles, edges, etc.), no considering child objects
 
virtual bool hasModel () const
 
 Object (ProtectedStruct, const Object &obj)
 
- Public Member Functions inherited from MR::ObjectChildrenHolder
 ObjectChildrenHolder ()=default
 
 ObjectChildrenHolder (const ObjectChildrenHolder &) noexcept
 
ObjectChildrenHolderoperator= (const ObjectChildrenHolder &) noexcept
 
MRMESH_API ObjectChildrenHolder (ObjectChildrenHolder &&) noexcept
 
MRMESH_API ObjectChildrenHolderoperator= (ObjectChildrenHolder &&) noexcept
 
MRMESH_API ~ObjectChildrenHolder ()
 
MRMESH_API std::shared_ptr< ObjectgetSharedPtr () const
 
MRMESH_API size_t heapBytes () const
 

Static Public Member Functions

static constexpr const char * TypeName () noexcept
 
- Static Public Member Functions inherited from MR::VisualObject
static constexpr const char * TypeName () noexcept
 
- Static Public Member Functions inherited from MR::Object
static constexpr const char * TypeName () noexcept
 

Protected Member Functions

 ConeObject (const ConeObject &other)=default
 
virtual MRMESH_API void swapBase_ (Object &other) override
 swaps this object with other
 
virtual MRMESH_API void serializeFields_ (Json::Value &root) const override
 
virtual Expected< std::future< VoidOrErrStr > > serializeModel_ (const std::filesystem::path &) const override
 
virtual VoidOrErrStr deserializeModel_ (const std::filesystem::path &, ProgressCallback) override
 Reads model from file.
 
MRMESH_API void setupRenderObject_ () const override
 
- Protected Member Functions inherited from MR::AddVisualProperties< FeatureObject, DimensionsVisualizePropertyType::diameter, DimensionsVisualizePropertyType::angle, DimensionsVisualizePropertyType::length >
void setAllVisualizeProperties_ (const AllVisualizeProperties &properties, std::size_t &pos) override
 
- Protected Member Functions inherited from MR::FeatureObject
MRMESH_API FeatureObject (int numDimensions)
 
MRMESH_API void setAllVisualizeProperties_ (const AllVisualizeProperties &properties, std::size_t &pos) override
 
- Protected Member Functions inherited from MR::VisualObject
 VisualObject (const VisualObject &obj)=default
 
MRMESH_API ViewportMaskgetVisualizePropertyMask_ (AnyVisualizeMaskEnum type)
 
MRMESH_API void deserializeFields_ (const Json::Value &root) override
 
virtual Box3f computeBoundingBox_ () const
 
MRMESH_API void boundingBoxToInfoLines_ (std::vector< std::string > &res) const
 adds information about bounding box in res
 
template<AnyVisualizeMaskEnumType T>
void setAllVisualizePropertiesForEnum (const AllVisualizeProperties &properties, std::size_t &pos)
 
template<AnyVisualizeMaskEnumType T>
void getAllVisualizePropertiesForEnum (AllVisualizeProperties &properties) const
 
- Protected Member Functions inherited from MR::Object
 Object (const Object &obj)=default
 user should not be able to call copy implicitly, use clone() function instead
 
virtual MRMESH_API void swapSignals_ (Object &other)
 
virtual MRMESH_API void propagateWorldXfChangedSignal_ ()
 

Additional Inherited Members

- Public Types inherited from MR::Object
using XfChangedSignal = Signal<void() >
 
- Public Attributes inherited from MR::Object
XfChangedSignal worldXfChangedSignal
 
- Protected Attributes inherited from MR::AddVisualProperties< FeatureObject, DimensionsVisualizePropertyType::diameter, DimensionsVisualizePropertyType::angle, DimensionsVisualizePropertyType::length >
std::array< ViewportMask, sizeof...(Properties)> propertyMasks_
 
- Protected Attributes inherited from MR::FeatureObject
ViewportMask subfeatureVisibility_ = ViewportMask::all()
 
ViewportMask detailsOnNameTag_ = ViewportMask::all()
 
ViewportProperty< Matrix3fr_
 
ViewportProperty< Matrix3fs_
 
std::array< ViewportProperty< Color >, 2 > decorationsColor_
 
float pointSize_ = 10
 
float lineWidth_ = 2
 
float subPointSize_ = 6
 
float subLineWidth_ = 1
 
float mainFeatureAlpha_ = 1
 
float subAlphaPoints_ = 1
 
float subAlphaLines_ = 1
 
float subAlphaMesh_ = 0.5f
 
- Protected Attributes inherited from MR::VisualObject
UniquePtr< IRenderObjectrenderObj_
 
Dirty dirty_
 
ViewportMask clipByPlane_
 
ViewportMask showLabels_
 
ViewportMask showName_
 
ViewportMask cropLabels_ = ViewportMask::all()
 
ViewportMask pickable_ = ViewportMask::all()
 enable picking by gl
 
ViewportMask invertNormals_
 invert mesh normals
 
ViewportMask depthTest_ = ViewportMask::all()
 
ViewportProperty< ColorlabelsColor_ = {}
 
float shininess_ {35.0f}
 specular exponent
 
float specularStrength_ { 0.5f }
 
float ambientStrength_ { 0.1f }
 
ColoringType coloringType_ {ColoringType::SolidColor}
 Main coloring options.
 
VertColors vertsColorMap_
 
ViewportProperty< ColorselectedColor_
 
ViewportProperty< ColorunselectedColor_
 
ViewportProperty< ColorbackFacesColor_
 
ViewportProperty< uint8_t > globalAlpha_ { 255 }
 
std::vector< PositionedTextlabels_
 
bool useDefaultScenePropertiesOnDeserialization_ { false }
 
- Protected Attributes inherited from MR::Object
std::string name_
 
ViewportProperty< AffineXf3fxf_
 
ViewportMask visibilityMask_ = ViewportMask::all()
 
bool locked_ = false
 
bool parentLocked_ = false
 
bool selected_ { false }
 
bool ancillary_ { false }
 
bool needRedraw_ {false}
 
- Protected Attributes inherited from MR::ObjectChildrenHolder
ObjectChildrenHolderparent_ = nullptr
 
std::vector< std::shared_ptr< Object > > children_
 
std::vector< std::weak_ptr< Object > > bastards_
 recognized ones
 

Detailed Description

Object to show Cone feature, position and radius are controlled by xf

Constructor & Destructor Documentation

◆ ConeObject() [1/5]

MRMESH_API MR::ConeObject::ConeObject ( )

Creates simple Cone object with center in zero and radius - 1.

◆ ConeObject() [2/5]

MRMESH_API MR::ConeObject::ConeObject ( const std::vector< Vector3f > & pointsToApprox)

Finds best Cone to approx given points.

◆ ConeObject() [3/5]

MR::ConeObject::ConeObject ( ConeObject && )
defaultnoexcept

◆ ConeObject() [4/5]

MR::ConeObject::ConeObject ( ProtectedStruct ,
const ConeObject & obj )
inline
Note
this ctor is public only for std::make_shared used inside clone()

◆ ConeObject() [5/5]

MR::ConeObject::ConeObject ( const ConeObject & other)
protecteddefault

Member Function Documentation

◆ clone()

virtual MRMESH_API std::shared_ptr< Object > MR::ConeObject::clone ( ) const
overridevirtual

clones this object only, without its children, making new object the owner of all copied resources

Reimplemented from MR::VisualObject.

◆ deserializeModel_()

virtual VoidOrErrStr MR::ConeObject::deserializeModel_ ( const std::filesystem::path & path,
ProgressCallback progressCb )
inlineoverrideprotectedvirtual

Reads model from file.

Reimplemented from MR::Object.

◆ getAllSharedProperties()

virtual MRMESH_API const std::vector< FeatureObjectSharedProperty > & MR::ConeObject::getAllSharedProperties ( ) const
overridevirtual

Create and generate list of bounded getters and setters for the main properties of feature object, together with prop. name for display and edit into UI.

Implements MR::FeatureObject.

◆ getAngle()

MRMESH_API float MR::ConeObject::getAngle ( ViewportId id = {}) const
nodiscard

calculates cone angle from xf. It is an angle betweeh main axis and side.

◆ getBasePoint()

virtual MRMESH_API Vector3f MR::ConeObject::getBasePoint ( ViewportId id = {}) const
nodiscardoverridevirtual

Reimplemented from MR::FeatureObject.

◆ getBaseRadius()

MRMESH_API float MR::ConeObject::getBaseRadius ( ViewportId id = {}) const
nodiscard

Computes the base base radius from the xf.

◆ getCenter()

MRMESH_API Vector3f MR::ConeObject::getCenter ( ViewportId id = {}) const
nodiscard

calculates center from xf. Center is the apex of the cone.

◆ getClassName()

virtual std::string MR::ConeObject::getClassName ( ) const
inlineoverridevirtual

return human readable name of subclass

Reimplemented from MR::VisualObject.

◆ getDirection()

MRMESH_API Vector3f MR::ConeObject::getDirection ( ViewportId id = {}) const
nodiscard

calculates main axis direction from xf

◆ getHeight()

MRMESH_API float MR::ConeObject::getHeight ( ViewportId id = {}) const
nodiscard

calculates cone height from xf

◆ operator=()

ConeObject & MR::ConeObject::operator= ( ConeObject && )
defaultnoexcept

◆ projectPoint()

MRMESH_API FeatureObjectProjectPointResult MR::ConeObject::projectPoint ( const Vector3f & point,
ViewportId id = {} ) const
nodiscardoverridevirtual

Implements MR::FeatureObject.

◆ serializeFields_()

virtual MRMESH_API void MR::ConeObject::serializeFields_ ( Json::Value & root) const
overrideprotectedvirtual

Write parameters to given Json::Value,

Note
if you override this method, please call Base::serializeFields_(root) in the beginning

Reimplemented from MR::VisualObject.

◆ serializeModel_()

virtual Expected< std::future< VoidOrErrStr > > MR::ConeObject::serializeModel_ ( const std::filesystem::path & path) const
inlineoverrideprotectedvirtual

Creates future to save object model (e.g. mesh) in given file path is full filename without extension

Reimplemented from MR::Object.

◆ setAngle()

MRMESH_API void MR::ConeObject::setAngle ( float angle,
ViewportId id = {} )

updates xf to fit given cone angle. It is an angle betweeh main axis and side

◆ setBaseRadius()

MRMESH_API void MR::ConeObject::setBaseRadius ( float radius,
ViewportId id = {} )

Updates the xf for the new base radius.

◆ setCenter()

MRMESH_API void MR::ConeObject::setCenter ( const Vector3f & center,
ViewportId id = {} )

updates xf to fit given center. Center is the apex of the cone.

◆ setDirection()

MRMESH_API void MR::ConeObject::setDirection ( const Vector3f & normal,
ViewportId id = {} )

updates xf to fit main axis

◆ setHeight()

MRMESH_API void MR::ConeObject::setHeight ( float height,
ViewportId id = {} )

updates xf to fit cone height

◆ setupRenderObject_()

MRMESH_API void MR::ConeObject::setupRenderObject_ ( ) const
overrideprotectedvirtual

each renderable child of VisualObject should implement this method and assign renderObj_ inside

Reimplemented from MR::VisualObject.

◆ shallowClone()

virtual MRMESH_API std::shared_ptr< Object > MR::ConeObject::shallowClone ( ) const
overridevirtual

clones this object only, without its children, making new object to share resources with this object

Reimplemented from MR::VisualObject.

◆ swapBase_()

virtual MRMESH_API void MR::ConeObject::swapBase_ ( Object & other)
overrideprotectedvirtual

swaps this object with other

Reimplemented from MR::VisualObject.

◆ TypeName()

static constexpr const char * MR::ConeObject::TypeName ( )
inlinestaticconstexprnoexcept

◆ typeName()

virtual const char * MR::ConeObject::typeName ( ) const
inlineoverridevirtual

Reimplemented from MR::VisualObject.


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