ADTF_DISPLAY_TOOLBOX  3.8.0 (ADTF 3.14.3)
cBaseObjectMixinabstract

Base mixin for handling cBaseObjectScene s. More...

Inheritance diagram for cBaseObjectMixin:
[legend]

Public Member Functions

 cBaseObjectMixin ()
 Constructor.
 
 ~cBaseObjectMixin () override
 Destructor.
 
virtual tResult AddScene (adtf::streaming::flash::ISampleReader *pReader, cBaseObjectScene *pScene)
 Adds a new object scene. More...
 
virtual tResult GetScene (adtf::streaming::flash::ISampleReader *pReader, cBaseObjectScene **ppScene)
 Returns the scene which is assigned to a specific pin. More...
 
- Public Member Functions inherited from cMixin
 cMixin ()
 Constructor.
 
 ~cMixin () override
 Destructor.
 
IChildCoordinateSystemCreateCoordinateSystem (const tChar *strName)
 Creates a new coordinate system. More...
 
osg::Group * GetRoot ()
 Add your nodes to this group. More...
 
ISceneGraphGetSceneGraph ()
 Access the ISceneGraph interface. More...
 
osgText::Font * GetFont ()
 Returns a pointer to a valid Font, use this for your osgText nodes. More...
 
virtual tResult OnPick (tInt32 nPosX, tInt32 nPosY, tUInt32 nFlags, const tNodePath &sNodePath)
 Handle a left click on one of your nodes. More...
 
virtual tResult AddMenuItemForPick (IMenu &oMenu, const tNodePath &sNodePath)
 Return context menu entries for one of your nodes. More...
 
virtual tResult AddGlobalMenuItem (IMenu &oMenu)
 Add global menu entries not related to a specific one of your nodes. More...
 
std::vector< const osg::Node * > GetLastMenuPath ()
 

Protected Member Functions

virtual tResult UpdateScene (cBaseObjectScene *pScene, const adtf::ucom::ant::iobject_ptr< const adtf::streaming::ant::ISample > &pSample)=0
 Updates the scene with data from a new media sample. More...
 
- Protected Member Functions inherited from cMixin
virtual tResult InitScene ()
 Impelement this to add your graph elements. More...
 
virtual tVoid ClearScene ()
 Use this to clean up your graph elements.
 

Protected Attributes

std::unique_ptr< cImplementation > m_pImplementation
 D-Pointer implementation.
 
- Protected Attributes inherited from cMixin
std::unique_ptr< cImplementation > m_pImplementation
 D-Pointer implementation.
 

Detailed Description

Base mixin for handling cBaseObjectScene s.

Subclass to create a mixin which handles multiple cBaseObjectScene. Use AddScene to add a new scene object in your InitScene method. In your UpdateScene you can then use the cBaseObjectScene interface to add, remove or manipulate objects.

You can find the implementation of this class in src/3dscenedisplay/mixinlib/baseobjectmixin.cpp

Definition at line 38 of file baseobjectmixin.h.

Member Function Documentation

◆ AddScene()

virtual tResult AddScene ( adtf::streaming::flash::ISampleReader *  pReader,
cBaseObjectScene pScene 
)
virtual

Adds a new object scene.

Call this only after cMixin::InitScene has been called.

Parameters
pReader[in] The reader that the scene is assigned to.
pScene[in] The new scene.
Returns
Standard result.

◆ GetScene()

virtual tResult GetScene ( adtf::streaming::flash::ISampleReader *  pReader,
cBaseObjectScene **  ppScene 
)
virtual

Returns the scene which is assigned to a specific pin.

Parameters
pReader[in] The reader of which the scene should be retreived
ppScene[out] A pointer that will be set to point to the scene.
Returns
Standard result.

◆ UpdateScene()

virtual tResult UpdateScene ( cBaseObjectScene pScene,
const adtf::ucom::ant::iobject_ptr< const adtf::streaming::ant::ISample > &  pSample 
)
protectedpure virtual

Updates the scene with data from a new media sample.

Implement this to fill and update the scene with your own data.

Parameters
pScene[in] The scene that should be updated.
pSample[in] The received media sample
Returns
Standard result.