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

This describes a Yee problem area More...

#include <FDTDProblemArea.h>

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

Public Member Functions

YeeGetGrid ()
 
double GetPointToGridIndexRatio () const
 Retrieves point-grid index ratios More...
 
GridIndex ToGridIndex (const Point< Spatial > &) const
 Converts a point to a grid index More...
 
Point< Spatial > ToPoint (const GridIndex &) const
 Converts a point to a grid index More...
 
GridIndex CalculateGridCount (const Point< Spatial > &, const Point< Spatial > &) const
 Calculates the number of grids between two given points More...
 
Point< Spatial > CalculateGridTopLeft (const GridIndex &) const
 Calculates the top-left point associated with a gridIndex More...
 
Point< Spatial > CalculateGridBottomRight (const GridIndex &) const
 Calculates the bottom right point associated with a gridIndex More...
 
virtual void ConformToGridSpace ()
 Adjusts all dimensions such that they correspond to even integer multiples of grid sizes More...
 
virtual void GenerateMediumMap ()
 Generates a medium-address map. Takes effective media into account More...
 
virtual MediumMap GetMediumMap () const
 
virtual Medium CalculateEffectiveMedium (const GridIndex &gi)
 Computes the effective medium of a given GridIndex More...
 
virtual bool IncludesPoint (const Point< Spatial > &p) override
 This override disables the footprint. We are only interested in resizing the problem area More...
 
virtual void Resize (IScreen *, const PolarVector &) override
 This override ensures the dimensions of the problem area conform to an even integer multiple of grids by calling ConformToGridSpace More...
 
virtual void Draw2D (IScreen *screen) override
 
virtual void AddParameters () override
 
 FDTDProblemArea (const FDTDProblemArea &)=default
 
- Public Member Functions inherited from Parallelepiped
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 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 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 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

MediumMap m_MediumMap
 
- Protected Attributes inherited from Parallelepiped
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

This describes a Yee problem area

Member Function Documentation

Medium FDTDProblemArea::CalculateEffectiveMedium ( const GridIndex gi)
virtual

Computes the effective medium of a given GridIndex

Point< Spatial > FDTDProblemArea::CalculateGridBottomRight ( const GridIndex gi) const

Calculates the bottom right point associated with a gridIndex

GridIndex FDTDProblemArea::CalculateGridCount ( const Point< Spatial > &  a,
const Point< Spatial > &  b 
) const

Calculates the number of grids between two given points

Point< Spatial > FDTDProblemArea::CalculateGridTopLeft ( const GridIndex gi) const

Calculates the top-left point associated with a gridIndex

void FDTDProblemArea::ConformToGridSpace ( )
virtual

Adjusts all dimensions such that they correspond to even integer multiples of grid sizes

void FDTDProblemArea::Draw2D ( IScreen screen)
overridevirtual

Draw Pml.

Reimplemented from Parallelepiped.

void FDTDProblemArea::GenerateMediumMap ( )
virtual

Generates a medium-address map. Takes effective media into account

double FDTDProblemArea::GetPointToGridIndexRatio ( ) const

Retrieves point-grid index ratios

bool FDTDProblemArea::IncludesPoint ( const Point< Spatial > &  p)
overridevirtual

This override disables the footprint. We are only interested in resizing the problem area

Reimplemented from Parallelepiped.

void FDTDProblemArea::Resize ( IScreen screen,
const PolarVector v 
)
overridevirtual

This override ensures the dimensions of the problem area conform to an even integer multiple of grids by calling ConformToGridSpace

Reimplemented from Parallelepiped.

GridIndex FDTDProblemArea::ToGridIndex ( const Point< Spatial > &  p) const

Converts a point to a grid index

Point< Spatial > FDTDProblemArea::ToPoint ( const GridIndex gi) const

Converts a point to a grid index


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