Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::scene::IMetaTriangleSelector Class Referenceabstract

Interface for making multiple triangle selectors work as one big selector. More...

#include <nirtcpp/core/engine/IMetaTriangleSelector.hpp>

Inheritance diagram for nirt::scene::IMetaTriangleSelector:
Inheritance graph
Collaboration diagram for nirt::scene::IMetaTriangleSelector:
Collaboration graph

Public Member Functions

virtual void addTriangleSelector (ITriangleSelector *toAdd)=0
 Adds a triangle selector to the collection of triangle selectors.
 
virtual bool removeTriangleSelector (ITriangleSelector *toRemove)=0
 Removes a specific triangle selector from the collection.
 
virtual void removeAllTriangleSelectors ()=0
 Removes all triangle selectors from the collection.
 
- Public Member Functions inherited from nirt::scene::ITriangleSelector
virtual s32 getTriangleCount () const =0
 Get amount of all available triangles in this selector.
 
virtual void getTriangles (core::triangle3df *triangles, s32 arraySize, s32 &outTriangleCount, const core::matrix4 *transform=0, bool useNodeTransform=true, nirt::core::array< SCollisionTriangleRange > *outTriangleInfo=0) const =0
 Gets the triangles for one associated node.
 
virtual void getTriangles (core::triangle3df *triangles, s32 arraySize, s32 &outTriangleCount, const core::aabbox3d< f32 > &box, const core::matrix4 *transform=0, bool useNodeTransform=true, nirt::core::array< SCollisionTriangleRange > *outTriangleInfo=0) const =0
 Gets the triangles for one associated node which may lie within a specific bounding box.
 
virtual void getTriangles (core::triangle3df *triangles, s32 arraySize, s32 &outTriangleCount, const core::line3d< f32 > &line, const core::matrix4 *transform=0, bool useNodeTransform=true, nirt::core::array< SCollisionTriangleRange > *outTriangleInfo=0) const =0
 Gets the triangles for one associated node which have or may have contact with a 3d line.
 
virtual u32 getSelectorCount () const =0
 Get number of TriangleSelectors that are part of this one.
 
virtual ITriangleSelectorgetSelector (u32 index)=0
 Get TriangleSelector based on index based on getSelectorCount.
 
virtual const ITriangleSelectorgetSelector (u32 index) const =0
 Get TriangleSelector based on index based on getSelectorCount.
 
virtual ISceneNodegetSceneNodeForTriangle (u32 triangleIndex) const =0
 Get scene node associated with a given triangle.
 
- Public Member Functions inherited from nirt::IReferenceCounted
 IReferenceCounted ()
 Constructor.
 
virtual ~IReferenceCounted ()
 Destructor.
 
void grab () const
 Grabs the object. Increments the reference counter by one.
 
bool drop () const
 Drops the object. Decrements the reference counter by one.
 
s32 getReferenceCount () const
 Get the reference count.
 
const c8getDebugName () const
 Returns the debug name of the object.
 

Additional Inherited Members

- Protected Member Functions inherited from nirt::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object.
 

Detailed Description

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.

Member Function Documentation

◆ addTriangleSelector()

virtual void nirt::scene::IMetaTriangleSelector::addTriangleSelector ( ITriangleSelector toAdd)
pure virtual

Adds a triangle selector to the collection of triangle selectors.

Parameters
toAddPointer to an triangle selector to add to the list.

◆ removeTriangleSelector()

virtual bool nirt::scene::IMetaTriangleSelector::removeTriangleSelector ( ITriangleSelector toRemove)
pure virtual

Removes a specific triangle selector from the collection.

Parameters
toRemovePointer to an triangle selector which is in the list but will be removed.
Returns
True if successful, false if not.

The documentation for this class was generated from the following file:

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print