FEMSuite
Public Member Functions | Protected Attributes | List of all members
InteractiveObjectBase Class Reference

This class implements basic functions for interactive objects More...

#include <InteractiveObjectBase.h>

Inheritance diagram for InteractiveObjectBase:
Inheritance graph
[legend]
Collaboration diagram for InteractiveObjectBase:
Collaboration graph
[legend]

Public Member Functions

ObjectManagerGetObjectManager () const override
 
void SetObjectManager (ObjectManager *const om) override
 
virtual void MouseUp () override
 
virtual bool IsSelected () const override
 
virtual void SetSelected (const bool s=true) override
 
virtual bool IsHovered () const override
 
virtual void SetHovered (const bool h=true) override
 
virtual bool IsRotatable ()
 Whether the object can be rotated or not More...
 
virtual void SetRotatable (const bool isRotatable=true) override
 
virtual bool IsMovable ()
 Whether the object can be moved or not More...
 
virtual void SetMovable (const bool isMovable=true) override
 
virtual bool IsResizable ()
 Whether the object can be resized or not More...
 
virtual void SetResizable (const bool isResizable=true) override
 
virtual std::string GetName () const override
 
virtual void SetName (const std::string &name) override
 
virtual Point< Spatial > GetCenter () const
 
virtual void SetCenter (const Point< Spatial > &c)
 
virtual Color GetColor () const
 
virtual void SetColor (const Color &c)
 
virtual IScreen::CursorType GetCursor (IScreen *, const ScreenCoords &) override
 
virtual IScreen::CursorType HeadingToResizingCursor (Radian heading) const
 Converts a direction to a resizing cursor. Used with resizing and scaling as well as other deformation functions. More...
 
virtual void Move (IScreen *, const PolarVector &) override
 
virtual void Rotate (IScreen *, const PolarVector &) override
 
virtual void Resize (IScreen *, const PolarVector &) override
 
virtual bool IncludesPoint (IScreen *, const ScreenCoords &sC) override
 Enables a pixel-level extension of the entire footprint. More...
 
virtual bool IsRotationPoint (IScreen *, const ScreenCoords &sC) override
 Enables a pixel-level extension of the rotation aid footprint. More...
 
virtual bool IsDeformationPoint (IScreen *, const ScreenCoords &sC) override
 Enables a pixel-level extension of the deformation aid footprint. More...
 
virtual bool IsResizingPoint (IScreen *, const ScreenCoords &sC) override
 Enables a pixel-level extension of the resizing aid footprint. More...
 
virtual const DisplayStyleGetDisplayStyle () const override
 
Returns
Current display style that should be used

 
virtual void SetStandardDisplayStyle (const DisplayStyle &ds) override
 
virtual void SetHoveredDisplayStyle (const DisplayStyle &ds) override
 
virtual void SetSelectedDisplayStyle (const DisplayStyle &ds) override
 
virtual bool IsVisible (IScreen *)
 
virtual void Draw2D (IScreen *)
 
virtual void Draw3D (IScreen *)
 
virtual void DrawResizingSquare (IScreen *, const Point< Spatial > &, const Radian=0)
 
virtual void DrawRotationCircle (IScreen *, const Point< Spatial > &)
 
virtual void AddParameters () override
 
virtual void UpdateFromParameters (std::shared_ptr< IParameter >=nullptr) override
 The argument here is the updated paramter More...
 
virtual IParameterContainer & GetParameters () override
 Returns a list of all parameters More...
 
virtual void AddIParameter (std::shared_ptr< IParameter > p) override
 
virtual void AddIParameterTEST ()
 
virtual void RemoveParameter (const std::string &name) override
 
virtual void ClearParameters () override
 
virtual std::shared_ptr< IParameterGetIParameter (const std::string &name) override
 Finds a parameter by name More...
 
- Public Member Functions inherited from IInteractiveObject
template<class T , typename... Args>
std::shared_ptr< T > Get (Args...args)
 
template<class T , typename... Args>
std::shared_ptr< Parameter< T > > GetParameter (Args...args)
 
template<class T , typename... Args>
std::shared_ptr< Parameter< T > > AddParameter (Args...args)
 
template<class T , typename... Args>
std::shared_ptr< T > Add (Args...args)
 
template<typename... Args>
std::shared_ptr< DegreeParameterAddDegreeParameter (Args...args)
 
template<typename... Args>
std::shared_ptr< DegreeParameterGetDegreeParameter (Args...args)
 
template<typename... Args>
std::shared_ptr< MediumParameterAddMediumParameter (Args...args)
 
template<typename... Args>
std::shared_ptr< MediumParameterGetMediumParameter (Args...args)
 

Protected Attributes

ObjectManagerm_ObjectManager
 
Point< Spatial > m_Center
 Center of the shape More...
 
Color m_Color
 Color of the shape More...
 
std::vector< std::shared_ptr< IParameter > > m_Parameters
 

Detailed Description

This class implements basic functions for interactive objects

Member Function Documentation

virtual std::shared_ptr< IParameter > InteractiveObjectBase::GetIParameter ( const std::string &  name)
inlineoverridevirtual

Finds a parameter by name

Implements IInteractiveObject.

virtual IParameterContainer& InteractiveObjectBase::GetParameters ( )
inlineoverridevirtual

Returns a list of all parameters

Implements IInteractiveObject.

IScreen::CursorType InteractiveObjectBase::HeadingToResizingCursor ( Radian  heading) const
virtual

Converts a direction to a resizing cursor. Used with resizing and scaling as well as other deformation functions.

virtual bool InteractiveObjectBase::IncludesPoint ( IScreen ,
const ScreenCoords sC 
)
inlineoverridevirtual

Enables a pixel-level extension of the entire footprint.

Implements IInteractiveObject.

Reimplemented in Boundary.

virtual bool InteractiveObjectBase::IsDeformationPoint ( IScreen ,
const ScreenCoords sC 
)
inlineoverridevirtual

Enables a pixel-level extension of the deformation aid footprint.

Implements IInteractiveObject.

Reimplemented in Boundary.

virtual bool InteractiveObjectBase::IsMovable ( )
inlinevirtual

Whether the object can be moved or not

Implements IInteractiveObject.

virtual bool InteractiveObjectBase::IsResizable ( )
inlinevirtual

Whether the object can be resized or not

Implements IInteractiveObject.

virtual bool InteractiveObjectBase::IsResizingPoint ( IScreen ,
const ScreenCoords sC 
)
inlineoverridevirtual

Enables a pixel-level extension of the resizing aid footprint.

Implements IInteractiveObject.

Reimplemented in Parallelepiped, and Boundary.

virtual bool InteractiveObjectBase::IsRotatable ( )
inlinevirtual

Whether the object can be rotated or not

Implements IInteractiveObject.

virtual bool InteractiveObjectBase::IsRotationPoint ( IScreen ,
const ScreenCoords sC 
)
inlineoverridevirtual

Enables a pixel-level extension of the rotation aid footprint.

Implements IInteractiveObject.

Reimplemented in Parallelepiped, Boundary, and EllipseBoundary.

void InteractiveObjectBase::UpdateFromParameters ( std::shared_ptr< IParameter p = nullptr)
overridevirtual

The argument here is the updated paramter

Implements IInteractiveObject.

Reimplemented in Parallelepiped, and Boundary.

Member Data Documentation

Point<Spatial> InteractiveObjectBase::m_Center
protected

Center of the shape

Color InteractiveObjectBase::m_Color
protected

Color of the shape


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