#include <brush.h>
Data Structures | |
class | RenderablePointVectorPushBack |
Public Types | |
typedef MemberCaller1 < FaceInstance, const Selectable &,&FaceInstance::selectedChanged > | SelectedChangedCaller |
Public Member Functions | |
FaceInstance (Face &face, const SelectionChangeCallback &observer) | |
FaceInstance (const FaceInstance &other) | |
FaceInstance & | operator= (const FaceInstance &other) |
Face & | getFace () |
const Face & | getFace () const |
void | selectedChanged (const Selectable &selectable) |
bool | selectedVertices () const |
bool | selectedEdges () const |
bool | isSelected () const |
bool | selectedComponents () const |
bool | selectedComponents (SelectionSystem::EComponentMode mode) const |
void | setSelected (SelectionSystem::EComponentMode mode, bool select) |
template<typename Functor > | |
void | SelectedVertices_foreach (Functor functor) const |
template<typename Functor > | |
void | SelectedEdges_foreach (Functor functor) const |
template<typename Functor > | |
void | SelectedFaces_foreach (Functor functor) const |
template<typename Functor > | |
void | SelectedComponents_foreach (Functor functor) const |
void | iterate_selected (AABB &aabb) const |
void | iterate_selected (RenderablePointVector &points) const |
bool | intersectVolume (const VolumeTest &volume, const Matrix4 &localToWorld) const |
void | render (Renderer &renderer, const VolumeTest &volume, const Matrix4 &localToWorld) const |
void | testSelect (SelectionTest &test, SelectionIntersection &best) |
void | testSelect (Selector &selector, SelectionTest &test) |
void | testSelect_centroid (Selector &selector, SelectionTest &test) |
void | selectPlane (Selector &selector, const Line &line, PlanesIterator first, PlanesIterator last, const PlaneCallback &selectedPlaneCallback) |
void | selectReversedPlane (Selector &selector, const SelectedPlanes &selectedPlanes) |
void | transformComponents (const Matrix4 &matrix) |
void | snapto (float snap) |
void | snapComponents (float snap) |
void | update_move_planepts_vertex (std::size_t index) |
void | update_move_planepts_vertex2 (std::size_t index, std::size_t other) |
void | update_selection_vertex () |
void | select_vertex (std::size_t index, bool select) |
bool | selected_vertex (std::size_t index) const |
void | update_move_planepts_edge (std::size_t index) |
void | update_selection_edge () |
void | select_edge (std::size_t index, bool select) |
bool | selected_edge (std::size_t index) const |
const Vector3 & | centroid () const |
void | connectivityChanged () |
Data Fields | |
VectorLightList | m_lights |
Private Attributes | |
Face * | m_face |
ObservedSelectable | m_selectable |
ObservedSelectable | m_selectableVertices |
ObservedSelectable | m_selectableEdges |
SelectionChangeCallback | m_selectionChanged |
VertexSelection | m_vertexSelection |
VertexSelection | m_edgeSelection |
Definition at line 2306 of file brush.h.
typedef MemberCaller1<FaceInstance, const Selectable&, &FaceInstance::selectedChanged> FaceInstance::SelectedChangedCaller |
FaceInstance::FaceInstance | ( | Face & | face, | |
const SelectionChangeCallback & | observer | |||
) | [inline] |
FaceInstance::FaceInstance | ( | const FaceInstance & | other | ) | [inline] |
const Vector3& FaceInstance::centroid | ( | ) | const [inline] |
Definition at line 2717 of file brush.h.
References Face::centroid(), and m_face.
Referenced by SelectedFaces_foreach().
void FaceInstance::connectivityChanged | ( | ) | [inline] |
Definition at line 2722 of file brush.h.
References m_edgeSelection, m_selectableEdges, m_selectableVertices, and m_vertexSelection.
const Face& FaceInstance::getFace | ( | ) | const [inline] |
Face& FaceInstance::getFace | ( | ) | [inline] |
Definition at line 2337 of file brush.h.
References m_face.
Referenced by FaceVisitorWrapper< Functor >::operator()(), select_edge(), select_vertex(), selected_edge(), selected_vertex(), SelectedEdges_foreach(), SelectedVertices_foreach(), selectPlane(), selectReversedPlane(), update_selection_edge(), update_selection_vertex(), and FaceInstanceVisitFace< Functor >::visit().
bool FaceInstance::intersectVolume | ( | const VolumeTest & | volume, | |
const Matrix4 & | localToWorld | |||
) | const [inline] |
Definition at line 2473 of file brush.h.
References Face::intersectVolume(), and m_face.
Referenced by render().
bool FaceInstance::isSelected | ( | ) | const [inline] |
Definition at line 2365 of file brush.h.
References m_selectable.
Referenced by selectedComponents(), SelectedFaces_foreach(), snapComponents(), and transformComponents().
void FaceInstance::iterate_selected | ( | RenderablePointVector & | points | ) | const [inline] |
Definition at line 2468 of file brush.h.
References SelectedComponents_foreach().
void FaceInstance::iterate_selected | ( | AABB & | aabb | ) | const [inline] |
Definition at line 2448 of file brush.h.
References SelectedComponents_foreach().
FaceInstance& FaceInstance::operator= | ( | const FaceInstance & | other | ) | [inline] |
void FaceInstance::render | ( | Renderer & | renderer, | |
const VolumeTest & | volume, | |||
const Matrix4 & | localToWorld | |||
) | const [inline] |
Definition at line 2478 of file brush.h.
References Face::contributes(), Renderer::eFace, Renderer::Highlight(), intersectVolume(), Face::isFiltered(), m_face, Renderer::PopState(), Renderer::PushState(), Face::render(), and selectedComponents().
void FaceInstance::select_edge | ( | std::size_t | index, | |
bool | select | |||
) | [inline] |
Definition at line 2699 of file brush.h.
References getFace(), m_edgeSelection, update_selection_edge(), VertexSelection_erase(), and VertexSelection_insert().
void FaceInstance::select_vertex | ( | std::size_t | index, | |
bool | select | |||
) | [inline] |
Definition at line 2653 of file brush.h.
References getFace(), m_vertexSelection, update_selection_vertex(), VertexSelection_erase(), and VertexSelection_insert().
bool FaceInstance::selected_edge | ( | std::size_t | index | ) | const [inline] |
Definition at line 2711 of file brush.h.
References getFace(), m_edgeSelection, and VertexSelection_find().
bool FaceInstance::selected_vertex | ( | std::size_t | index | ) | const [inline] |
Definition at line 2665 of file brush.h.
References getFace(), m_vertexSelection, and VertexSelection_find().
void FaceInstance::selectedChanged | ( | const Selectable & | selectable | ) | [inline] |
Definition at line 2346 of file brush.h.
References FaceInstanceSet::erase(), FaceInstanceSet::insert(), Selectable::isSelected(), and m_selectionChanged.
bool FaceInstance::selectedComponents | ( | SelectionSystem::EComponentMode | mode | ) | const [inline] |
Definition at line 2374 of file brush.h.
References SelectionSystem::eEdge, SelectionSystem::eFace, SelectionSystem::eVertex, isSelected(), selectedEdges(), and selectedVertices().
bool FaceInstance::selectedComponents | ( | ) | const [inline] |
Definition at line 2370 of file brush.h.
References isSelected(), selectedEdges(), and selectedVertices().
Referenced by render().
void FaceInstance::SelectedComponents_foreach | ( | Functor | functor | ) | const [inline] |
Definition at line 2441 of file brush.h.
References SelectedEdges_foreach(), SelectedFaces_foreach(), and SelectedVertices_foreach().
Referenced by iterate_selected().
bool FaceInstance::selectedEdges | ( | ) | const [inline] |
Definition at line 2361 of file brush.h.
References m_edgeSelection.
Referenced by selectedComponents(), snapComponents(), and transformComponents().
void FaceInstance::SelectedEdges_foreach | ( | Functor | functor | ) | const [inline] |
Definition at line 2421 of file brush.h.
References getFace(), Face::getWinding(), i, m_edgeSelection, and vector3_mid().
Referenced by SelectedComponents_foreach().
void FaceInstance::SelectedFaces_foreach | ( | Functor | functor | ) | const [inline] |
Definition at line 2433 of file brush.h.
References centroid(), and isSelected().
Referenced by SelectedComponents_foreach().
bool FaceInstance::selectedVertices | ( | ) | const [inline] |
Definition at line 2357 of file brush.h.
References m_vertexSelection.
Referenced by selectedComponents(), snapComponents(), and transformComponents().
void FaceInstance::SelectedVertices_foreach | ( | Functor | functor | ) | const [inline] |
Definition at line 2411 of file brush.h.
References getFace(), i, and m_vertexSelection.
Referenced by SelectedComponents_foreach().
void FaceInstance::selectPlane | ( | Selector & | selector, | |
const Line & | line, | |||
PlanesIterator | first, | |||
PlanesIterator | last, | |||
const PlaneCallback & | selectedPlaneCallback | |||
) | [inline] |
Definition at line 2515 of file brush.h.
References getFace(), Face::getWinding(), i, m_selectable, Plane3::normal(), Face::plane3(), and Selector_add().
void FaceInstance::selectReversedPlane | ( | Selector & | selector, | |
const SelectedPlanes & | selectedPlanes | |||
) | [inline] |
Definition at line 2530 of file brush.h.
References SelectedPlanes::contains(), getFace(), m_selectable, plane3_flipped(), and Selector_add().
void FaceInstance::setSelected | ( | SelectionSystem::EComponentMode | mode, | |
bool | select | |||
) | [inline] |
Definition at line 2387 of file brush.h.
References SelectionSystem::eEdge, SelectionSystem::eFace, SelectionSystem::eVertex, m_edgeSelection, m_selectable, m_selectableEdges, m_selectableVertices, and m_vertexSelection.
void FaceInstance::snapComponents | ( | float | snap | ) | [inline] |
Definition at line 2576 of file brush.h.
References Face::assign_planepts(), Face::freezeTransform(), isSelected(), m_face, Face::m_move_planepts, Face::m_move_planeptsTransformed, planepts_assign(), selectedEdges(), selectedVertices(), snapto(), and vector3_snap().
void FaceInstance::snapto | ( | float | snap | ) | [inline] |
Definition at line 2571 of file brush.h.
References m_face, and Face::snapto().
Referenced by snapComponents().
void FaceInstance::testSelect | ( | Selector & | selector, | |
SelectionTest & | test | |||
) | [inline] |
Definition at line 2496 of file brush.h.
References m_selectable, Selector_add(), testSelect(), and SelectionIntersection::valid().
void FaceInstance::testSelect | ( | SelectionTest & | test, | |
SelectionIntersection & | best | |||
) | [inline] |
Definition at line 2490 of file brush.h.
References Face::isFiltered(), m_face, and Face::testSelect().
Referenced by testSelect().
void FaceInstance::testSelect_centroid | ( | Selector & | selector, | |
SelectionTest & | test | |||
) | [inline] |
Definition at line 2504 of file brush.h.
References Face::contributes(), Face::isFiltered(), m_face, m_selectable, Selector_add(), Face::testSelect_centroid(), and SelectionIntersection::valid().
void FaceInstance::transformComponents | ( | const Matrix4 & | matrix | ) | [inline] |
Definition at line 2537 of file brush.h.
References Face::assign_planepts(), isSelected(), m_edgeSelection, m_face, Face::m_move_planeptsTransformed, m_vertexSelection, selectedEdges(), selectedVertices(), and Face::transform().
void FaceInstance::update_move_planepts_edge | ( | std::size_t | index | ) | [inline] |
Definition at line 2671 of file brush.h.
References Face::getWinding(), m_face, Face::m_move_planepts, and planepts_quantise().
Referenced by update_selection_edge().
void FaceInstance::update_move_planepts_vertex | ( | std::size_t | index | ) | [inline] |
Definition at line 2598 of file brush.h.
References m_face, Face::m_move_planepts, and Face::update_move_planepts_vertex().
Referenced by update_selection_vertex().
void FaceInstance::update_move_planepts_vertex2 | ( | std::size_t | index, | |
std::size_t | other | |||
) | [inline] |
Definition at line 2602 of file brush.h.
References Face::getWinding(), m_face, Face::m_move_planepts, planepts_quantise(), std::swap(), triangle_reversed(), and triangles_same_winding().
Referenced by update_selection_vertex().
void FaceInstance::update_selection_edge | ( | ) | [inline] |
Definition at line 2683 of file brush.h.
References getFace(), m_edgeSelection, m_selectableEdges, and update_move_planepts_edge().
Referenced by select_edge().
void FaceInstance::update_selection_vertex | ( | ) | [inline] |
Definition at line 2630 of file brush.h.
References getFace(), m_selectableVertices, m_vertexSelection, update_move_planepts_vertex(), and update_move_planepts_vertex2().
Referenced by select_vertex().
VertexSelection FaceInstance::m_edgeSelection [private] |
Definition at line 2315 of file brush.h.
Referenced by connectivityChanged(), select_edge(), selected_edge(), selectedEdges(), SelectedEdges_foreach(), setSelected(), transformComponents(), and update_selection_edge().
Face* FaceInstance::m_face [private] |
Definition at line 2308 of file brush.h.
Referenced by centroid(), getFace(), intersectVolume(), operator=(), render(), snapComponents(), snapto(), testSelect(), testSelect_centroid(), transformComponents(), update_move_planepts_edge(), update_move_planepts_vertex(), and update_move_planepts_vertex2().
VectorLightList FaceInstance::m_lights [mutable] |
ObservedSelectable FaceInstance::m_selectable [private] |
Definition at line 2309 of file brush.h.
Referenced by isSelected(), selectPlane(), selectReversedPlane(), setSelected(), testSelect(), and testSelect_centroid().
ObservedSelectable FaceInstance::m_selectableEdges [private] |
Definition at line 2311 of file brush.h.
Referenced by connectivityChanged(), setSelected(), and update_selection_edge().
ObservedSelectable FaceInstance::m_selectableVertices [private] |
Definition at line 2310 of file brush.h.
Referenced by connectivityChanged(), setSelected(), and update_selection_vertex().
Definition at line 2312 of file brush.h.
Referenced by selectedChanged().
Definition at line 2314 of file brush.h.
Referenced by connectivityChanged(), select_vertex(), selected_vertex(), selectedVertices(), SelectedVertices_foreach(), setSelected(), transformComponents(), and update_selection_vertex().