#include <curve.h>
Public Types | |
typedef Static< CurveEditType > | Type |
typedef MemberCaller < CurveEdit,&CurveEdit::curveChanged > | CurveChangedCaller |
Public Member Functions | |
CurveEdit (ControlPoints &controlPoints, const SelectionChangeCallback &selectionChanged) | |
template<typename Functor > | |
const Functor & | forEachSelected (const Functor &functor) |
template<typename Functor > | |
const Functor & | forEachSelected (const Functor &functor) const |
template<typename Functor > | |
const Functor & | forEach (const Functor &functor) const |
void | testSelect (Selector &selector, SelectionTest &test) |
bool | isSelected () const |
void | setSelected (bool selected) |
void | write (const char *key, Entity &entity) |
void | transform (const Matrix4 &matrix) |
void | snapto (float snap) |
void | updateSelected () const |
void | renderComponents (Renderer &renderer, const VolumeTest &volume, const Matrix4 &localToWorld) const |
void | renderComponentsSelected (Renderer &renderer, const VolumeTest &volume, const Matrix4 &localToWorld) const |
void | curveChanged () |
Private Types | |
typedef Array< ObservedSelectable > | Selectables |
Private Attributes | |
SelectionChangeCallback | m_selectionChanged |
ControlPoints & | m_controlPoints |
Selectables | m_selectables |
RenderablePointVector | m_controlsRender |
RenderablePointVector | m_selectedRender |
Definition at line 191 of file curve.h.
typedef MemberCaller<CurveEdit, &CurveEdit::curveChanged> CurveEdit::CurveChangedCaller |
typedef Array<ObservedSelectable> CurveEdit::Selectables [private] |
typedef Static<CurveEditType> CurveEdit::Type |
CurveEdit::CurveEdit | ( | ControlPoints & | controlPoints, | |
const SelectionChangeCallback & | selectionChanged | |||
) | [inline] |
void CurveEdit::curveChanged | ( | ) | [inline] |
Definition at line 306 of file curve.h.
References forEach(), m_controlPoints, m_controlsRender, m_selectables, m_selectedRender, m_selectionChanged, Array< Element, Allocator >::resize(), and Array< Element, Allocator >::size().
const Functor& CurveEdit::forEach | ( | const Functor & | functor | ) | const [inline] |
Definition at line 235 of file curve.h.
References Array< Element, Allocator >::begin(), Array< Element, Allocator >::end(), i, and m_controlPoints.
Referenced by curveChanged().
const Functor& CurveEdit::forEachSelected | ( | const Functor & | functor | ) | const [inline] |
Definition at line 223 of file curve.h.
References Array< Element, Allocator >::begin(), Array< Element, Allocator >::end(), i, m_controlPoints, m_selectables, and Array< Element, Allocator >::size().
const Functor& CurveEdit::forEachSelected | ( | const Functor & | functor | ) | [inline] |
Definition at line 211 of file curve.h.
References Array< Element, Allocator >::begin(), Array< Element, Allocator >::end(), i, m_controlPoints, m_selectables, and Array< Element, Allocator >::size().
Referenced by snapto(), transform(), and updateSelected().
bool CurveEdit::isSelected | ( | ) | const [inline] |
Definition at line 252 of file curve.h.
References Array< Element, Allocator >::begin(), Array< Element, Allocator >::end(), i, and m_selectables.
void CurveEdit::renderComponents | ( | Renderer & | renderer, | |
const VolumeTest & | volume, | |||
const Matrix4 & | localToWorld | |||
) | const [inline] |
Definition at line 288 of file curve.h.
References Renderer::addRenderable(), Renderer::eFullMaterials, Renderer::eWireframeOnly, m_controlsRender, and Renderer::SetState().
void CurveEdit::renderComponentsSelected | ( | Renderer & | renderer, | |
const VolumeTest & | volume, | |||
const Matrix4 & | localToWorld | |||
) | const [inline] |
Definition at line 295 of file curve.h.
References Renderer::addRenderable(), Renderer::eFullMaterials, Renderer::ePrimitive, Renderer::eWireframeOnly, Renderer::Highlight(), m_selectedRender, Renderer::SetState(), and updateSelected().
void CurveEdit::setSelected | ( | bool | selected | ) | [inline] |
Definition at line 261 of file curve.h.
References Array< Element, Allocator >::begin(), Array< Element, Allocator >::end(), i, and m_selectables.
void CurveEdit::snapto | ( | float | snap | ) | [inline] |
Definition at line 277 of file curve.h.
References forEachSelected().
void CurveEdit::testSelect | ( | Selector & | selector, | |
SelectionTest & | test | |||
) | [inline] |
Definition at line 243 of file curve.h.
References Array< Element, Allocator >::begin(), ControlPoint_testSelect(), Array< Element, Allocator >::end(), i, m_controlPoints, m_selectables, and Array< Element, Allocator >::size().
void CurveEdit::transform | ( | const Matrix4 & | matrix | ) | [inline] |
Definition at line 273 of file curve.h.
References forEachSelected().
void CurveEdit::updateSelected | ( | ) | const [inline] |
Definition at line 282 of file curve.h.
References forEachSelected(), and m_selectedRender.
Referenced by renderComponentsSelected().
void CurveEdit::write | ( | const char * | key, | |
Entity & | entity | |||
) | [inline] |
Definition at line 268 of file curve.h.
References ControlPoints_write(), and m_controlPoints.
ControlPoints& CurveEdit::m_controlPoints [private] |
Definition at line 194 of file curve.h.
Referenced by curveChanged(), forEach(), forEachSelected(), testSelect(), and write().
RenderablePointVector CurveEdit::m_controlsRender [private] |
Definition at line 198 of file curve.h.
Referenced by curveChanged(), and renderComponents().
Selectables CurveEdit::m_selectables [private] |
Definition at line 196 of file curve.h.
Referenced by curveChanged(), forEachSelected(), isSelected(), setSelected(), and testSelect().
RenderablePointVector CurveEdit::m_selectedRender [mutable, private] |
Definition at line 199 of file curve.h.
Referenced by curveChanged(), renderComponentsSelected(), and updateSelected().
Definition at line 193 of file curve.h.
Referenced by curveChanged().