TuttleOFX  1
tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord > Class Template Reference

#include <ParamRectangleFromCenterSize.hpp>

Inheritance diagram for tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >:
Collaboration diagram for tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >:

Public Member Functions

 ParamRectangleFromCenterSize (const InteractInfos &infos, OFX::Double2DParam *paramCenter, OFX::Double2DParam *paramSize, const TFrame &frame)
 ~ParamRectangleFromCenterSize ()
bool draw (const OFX::DrawArgs &args) const
 the function called to draw in the interact
ESelectType selectType (const OFX::PenArgs &args) const
MotionType intersect (const OFX::PenArgs &args)
bool isIn (const OfxRectD &)
Point2 getPoint () const
void setPoint (const Scalar x, const Scalar y)

Private Types

enum  ESelectType {
  eSelectTypeNone, eSelectTypeT, eSelectTypeL, eSelectTypeR,
  eSelectTypeB, eSelectTypeTL, eSelectTypeTR, eSelectTypeBL,
  eSelectTypeBR, eSelectTypeC
}

Static Private Member Functions

static std::string mapESelectTypeToString (const ESelectType &s)

Private Attributes

ParamPoint< TFrame, coord > _center
ParamPoint< TFrame,
CoordinateSystemNotCentered
< coord >::value > 
_size
TFrame _frame
ESelectType _selectType

Detailed Description

template<class TFrame, ECoordinateSystem coord>
class tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >

Definition at line 36 of file ParamRectangleFromCenterSize.hpp.


Member Enumeration Documentation

template<class TFrame , ECoordinateSystem coord>
enum tuttle::plugin::interact::ParamRectangleFromCenterSize::ESelectType [private]

T TL___________ TR | | L | C | R | | |_________| BL BR B

Enumerator:
eSelectTypeNone 
eSelectTypeT 
eSelectTypeL 
eSelectTypeR 
eSelectTypeB 
eSelectTypeTL 
eSelectTypeTR 
eSelectTypeBL 
eSelectTypeBR 
eSelectTypeC 

Definition at line 57 of file ParamRectangleFromCenterSize.hpp.


Constructor & Destructor Documentation

template<class TFrame , ECoordinateSystem coord>
tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::ParamRectangleFromCenterSize ( const InteractInfos infos,
OFX::Double2DParam *  paramCenter,
OFX::Double2DParam *  paramSize,
const TFrame &  frame 
)

Definition at line 183 of file ParamRectangleFromCenterSize.hpp.

template<class TFrame , ECoordinateSystem coord>
tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::~ParamRectangleFromCenterSize ( )

Definition at line 191 of file ParamRectangleFromCenterSize.hpp.


Member Function Documentation

template<class TFrame , ECoordinateSystem coord>
bool tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::draw ( const OFX::DrawArgs &  args) const [virtual]

the function called to draw in the interact

Reimplemented from tuttle::plugin::interact::PointInteract.

Definition at line 194 of file ParamRectangleFromCenterSize.hpp.

References tuttle::plugin::overlay::displayPointRect().

Here is the call graph for this function:

template<class TFrame , ECoordinateSystem coord>
Point2 tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::getPoint ( ) const [inline, virtual]
template<class TFrame , ECoordinateSystem coord>
bool tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::isIn ( const OfxRectD &  rect) [virtual]

Reimplemented from tuttle::plugin::interact::PointInteract.

Definition at line 268 of file ParamRectangleFromCenterSize.hpp.

References tuttle::max(), and tuttle::min().

Here is the call graph for this function:

template<class TFrame , ECoordinateSystem coord>
ParamRectangleFromCenterSize< TFrame, coord >::ESelectType tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::selectType ( const OFX::PenArgs &  args) const

Definition at line 202 of file ParamRectangleFromCenterSize.hpp.

References tuttle::max(), tuttle::min(), tuttle::plugin::ofxToGil(), TUTTLE_LOG_VAR, and TUTTLE_TRACE.

Here is the call graph for this function:

template<class TFrame , ECoordinateSystem coord>
void tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::setPoint ( const Scalar  x,
const Scalar  y 
) [inline, virtual]

Implements tuttle::plugin::interact::PointInteract.

Definition at line 114 of file ParamRectangleFromCenterSize.hpp.

References tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::_center, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::_frame, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::_selectType, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::_size, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeB, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeBL, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeBR, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeC, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeL, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeNone, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeR, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeT, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeTL, tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::eSelectTypeTR, tuttle::plugin::interact::ParamPoint< TFrame, coord >::getPoint(), tuttle::plugin::interact::PointInteract::getTime(), and tuttle::plugin::interact::ParamPoint< TFrame, coord >::setPoint().

Here is the call graph for this function:


Field Documentation

template<class TFrame , ECoordinateSystem coord>
TFrame tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::_frame [private]
template<class TFrame , ECoordinateSystem coord>
ParamPoint<TFrame, CoordinateSystemNotCentered<coord>::value> tuttle::plugin::interact::ParamRectangleFromCenterSize< TFrame, coord >::_size [private]

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