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

Describes a parallelepiped boundary More...

#include <Parallelepiped.h>

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

Public Member Functions

Point< Spatial > GetVertex (const char i, const char j, const char k) const
 
void SetVertex (const char i, const char j, const char k, const Point< Spatial > &p)
 
ParalellipipedVertexContainer GetVertices () const
 
Returns
The vertex corresponding to vertex id

 
void CalculateVertices ()
 Calculates all vertices More...
 
virtual GridIndex GetTopLeftGridIndex () const
 
virtual GridIndex GetBottomRightGridIndex () const
 
DimensionArray< Spatial > GetDimensions () const
 
void SetDimensions (const DimensionArray< Spatial > &d)
 
virtual bool IncludesPoint (const Point< Spatial > &) override
 Determines whether this boundary covers a given point More...
 
virtual DimensionArray< PointExtentsCalculateExtents () const override
 Calculates the point extents in all directions More...
 
virtual bool IsRotationPoint (IScreen *, const ScreenCoords &) override
 Determines if the mouse is on the rotation aid More...
 
virtual bool IsResizingPoint (IScreen *, const ScreenCoords &sC) override
 Determines if the mouse is on the resizing aid More...
 
virtual void Rotate (IScreen *, const PolarVector &) override
 
virtual void Resize (IScreen *, const PolarVector &) override
 
virtual void Draw2D (IScreen *) override
 
virtual void DrawResizingAides (IScreen *)
 Draws little squares at locations where the object can be resized More...
 
virtual void DrawRotationAides (IScreen *)
 Draws circles at locations where the object can be resized More...
 
IScreen::CursorType GetCursor (IScreen *, const ScreenCoords &)
 This override adds support for resizing cursors. More...
 
virtual void AddParameters () override
 
virtual void UpdateFromParameters (std::shared_ptr< IParameter >=nullptr) override
 The argument here is the updated paramter More...
 
 Parallelepiped (const Parallelepiped &)
 
Parallelepipedoperator= (class Parallelepiped const &)
 
- Public Member Functions inherited from Boundary
virtual void Move (IScreen *, const PolarVector &) override
 
Radian GetTheta () const
 
void SetTheta (const Radian th)
 
Radian GetPhi () const
 
void SetPhi (const Radian phi)
 
virtual bool IncludesPoint (IScreen *, const ScreenCoords &sC) override
 Enables a pixel-level extension of the entire footprint. More...
 
virtual bool IsDeformationPoint (IScreen *, const ScreenCoords &sC)
 Enables a pixel-level extension of the deformation aid footprint. More...
 
virtual const MediumGetMedium ()
 
virtual void SetMedium (const Medium &)
 
- Public Member Functions inherited from InteractiveObjectBase
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 HeadingToResizingCursor (Radian heading) const
 Converts a direction to a resizing cursor. Used with resizing and scaling as well as other deformation functions. 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 Draw3D (IScreen *)
 
virtual void DrawResizingSquare (IScreen *, const Point< Spatial > &, const Radian=0)
 
virtual void DrawRotationCircle (IScreen *, const Point< Spatial > &)
 
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

DimensionArray< Spatial > m_Dimensions
 Specifies the dimensions in each direction More...
 
std::pair< std::array< size_t, 2 >, std::array< size_t, 2 > > m_ResizingVertices
 During a resize, this describes the side being moved More...
 
- Protected Attributes inherited from Boundary
Radian m_Theta
 Specifies the azimuthal angle of this vector More...
 
Radian m_Phi
 Specifies the elevation angle of this vector More...
 
DimensionArray< Spatial > m_Dimensions
 Specifies the dimensions in each direction More...
 
- Protected Attributes inherited from InteractiveObjectBase
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

Describes a parallelepiped boundary

Member Function Documentation

DimensionArray< PointExtents > Parallelepiped::CalculateExtents ( ) const
overridevirtual

Calculates the point extents in all directions

Implements Boundary.

void Parallelepiped::CalculateVertices ( )
virtual

Calculates all vertices

Reimplemented from Boundary.

void Parallelepiped::DrawResizingAides ( IScreen screen)
virtual

Draws little squares at locations where the object can be resized

void Parallelepiped::DrawRotationAides ( IScreen screen)
virtual

Draws circles at locations where the object can be resized

Reimplemented in EllipseBoundary.

IScreen::CursorType Parallelepiped::GetCursor ( IScreen screen,
const ScreenCoords sC 
)
virtual

This override adds support for resizing cursors.

Reimplemented from InteractiveObjectBase.

Point< Spatial > Parallelepiped::GetVertex ( const char  i,
const char  j,
const char  k 
) const
Parameters
ii dimension index of this vertex (0-1)
ji dimension index of this vertex (0-1)
ki dimension index of this vertex (0-1)
bool Parallelepiped::IncludesPoint ( const Point< Spatial > &  p)
overridevirtual

Determines whether this boundary covers a given point

Parameters
pointPoint in question

Implements Boundary.

Reimplemented in FDTDProblemArea, and EllipseBoundary.

bool Parallelepiped::IsResizingPoint ( IScreen screen,
const ScreenCoords sC 
)
overridevirtual

Determines if the mouse is on the resizing aid

Reimplemented from Boundary.

bool Parallelepiped::IsRotationPoint ( IScreen screen,
const ScreenCoords sC 
)
overridevirtual

Determines if the mouse is on the rotation aid

Reimplemented from Boundary.

Reimplemented in EllipseBoundary.

void Parallelepiped::SetVertex ( const char  i,
const char  j,
const char  k,
const Point< Spatial > &  p 
)
inline
Parameters
ii dimension index of this vertex (0-1)
ji dimension index of this vertex (0-1)
ki dimension index of this vertex (0-1)
Pointnew point value
void Parallelepiped::UpdateFromParameters ( std::shared_ptr< IParameter src = nullptr)
overridevirtual

The argument here is the updated paramter

Reimplemented from Boundary.

Member Data Documentation

DimensionArray< Spatial > Parallelepiped::m_Dimensions
protected

Specifies the dimensions in each direction

std::pair< std::array< size_t, 2 >, std::array< size_t, 2 > > Parallelepiped::m_ResizingVertices
protected

During a resize, this describes the side being moved


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