|
ADTF Display Toolbox
|
Base class for Mixin Filters. More...
#include <mixin.h>
Public Member Functions | |
| cMixin () | |
| Constructor. | |
| ~cMixin () override | |
| Destructor. | |
| IChildCoordinateSystem * | CreateCoordinateSystem (const tChar *strName) |
| Creates a new coordinate system. | |
| osg::Group * | GetRoot () |
| Add your nodes to this group. | |
| ISceneGraph & | GetSceneGraph () |
| Access the ISceneGraph interface. | |
| osgText::Font * | GetFont () |
| Returns a pointer to a valid Font, use this for your osgText nodes. | |
| virtual tResult | OnPick (tInt32, tInt32, tUInt32, const tNodePath &) |
| Handle a left click on one of your nodes. | |
| virtual tResult | AddMenuItemForPick (chewbacca::IMenu &, const tNodePath &) |
| Return context menu entries for one of your nodes. | |
| virtual tResult | AddGlobalMenuItem (chewbacca::IMenu &) |
| Add global menu entries not related to a specific one of your nodes. | |
| std::vector< const osg::Node * > | GetLastMenuPath () |
Protected Member Functions | |
| virtual tResult | InitScene () |
| Impelement this to add your graph elements. | |
| virtual tVoid | ClearScene () |
| Use this to clean up your graph elements. | |
| tVoid | CreateCoordinateSystems () |
Protected Attributes | |
| osg::ref_ptr< osg::Switch > | m_pRootNode |
| filter::interface_client< ISceneGraph > | m_pSceneGraph |
| std::vector< ucom::object_ptr< detail::cSceneGraphProxy > > | m_oCoordinateSystemSceneGraphProxys |
| osg::ref_ptr< osgText::Font > | m_pFont = new cInstanceFont |
| ucom::object_ptr< IViewer > | m_pViewer |
| std::vector< const osg::Node * > | m_oLastPick |
Base class for Mixin Filters.
Use all the basic functionality available from adtf::filter::flash::cFilter.
Create your part of the scene graph by overriding InitScene() and adding nodes to GetRoot().
The overridden Process() and ProcessInput() methods will lock the viewer for you, so you can manipulate your graph elements without any special care in the ProcessInput(streaming::flash::ISampleReader*, const ucom::ant::iobject_ptr<const streaming::ant::ISample>&) method.
If you need to manipulate the tree in other locations, please use IViewer::Lock() / IViewer::Unlock().
|
inlinevirtual |
|
inlinevirtual |
|
inlineprotectedvirtual |
|
inline |
Creates a new coordinate system.
This will create an Interface Server where other Mixins can be connected to. All their nodes will reside within the new coordinate system.
| [in] | strName | The name of the coordinate system and the Interface Server Pin. |
|
inline |
Returns a pointer to a valid Font, use this for your osgText nodes.
Only avaliable after cMixin::InitScene has been called.
|
inline |
|
inline |
Add your nodes to this group.
This node is placed within the parent coordinate system of the Mixin.
Definition at line 279 of file mixin.h.
References GetSceneGraph().
Referenced by cBaseObjectMixin::AddScene().
|
inline |
Access the ISceneGraph interface.
Definition at line 297 of file mixin.h.
Referenced by GetRoot().
|
inlineprotectedvirtual |
Impelement this to add your graph elements.
Definition at line 443 of file mixin.h.
Referenced by cBaseObjectSelectionMixin::InitScene().
|
inlinevirtual |
Handle a left click on one of your nodes.
This is called whenever the user left clicks on one of your nodes of the scene graph.
| nPosX | [in] The horizontal position of the click in the view window. For high DPI displays, this is in Qt logical pixels. |
| nPosY | [in] The vertical position of the click in the view window. For high DPI displays, this is in Qt logical pixels. |
| nFlags | [in] Modifier keys, mouse buttons etc. (The current osg based implementation uses enums from tModifiers ) |
| sNodePath | [in] The path in the tree from the root node to the clicked node. |
|
protected |
|
protected |
|
protected |