974deca5e1
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11846 178a84e3-b1eb-0310-8ba1-8eac791a3b58
44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
// Copyright (C) 2002-2012 Nikolaus Gebhardt
|
|
// This file is part of the "Irrlicht Engine".
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
#ifndef __I_META_TRIANGLE_SELECTOR_H_INCLUDED__
|
|
#define __I_META_TRIANGLE_SELECTOR_H_INCLUDED__
|
|
|
|
#include "ITriangleSelector.h"
|
|
|
|
namespace irr
|
|
{
|
|
namespace scene
|
|
{
|
|
|
|
//! Interface for making multiple triangle selectors work as one big selector.
|
|
/** This is nothing more than a collection of one or more triangle selectors
|
|
providing together the interface of one triangle selector. In this way,
|
|
collision tests can be done with different triangle soups in one pass.
|
|
*/
|
|
class IMetaTriangleSelector : public ITriangleSelector
|
|
{
|
|
public:
|
|
|
|
//! Adds a triangle selector to the collection of triangle selectors.
|
|
/** \param toAdd: Pointer to an triangle selector to add to the list. */
|
|
virtual void addTriangleSelector(ITriangleSelector* toAdd) = 0;
|
|
|
|
//! Removes a specific triangle selector from the collection.
|
|
/** \param toRemove: Pointer to an triangle selector which is in the
|
|
list but will be removed.
|
|
\return True if successful, false if not. */
|
|
virtual bool removeTriangleSelector(ITriangleSelector* toRemove) = 0;
|
|
|
|
//! Removes all triangle selectors from the collection.
|
|
virtual void removeAllTriangleSelectors() = 0;
|
|
};
|
|
|
|
} // end namespace scene
|
|
} // end namespace irr
|
|
|
|
|
|
#endif
|
|
|