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

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

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

Inheritance diagram for dcpp::scene::IMetaTriangleSelector:
Inheritance graph
Collaboration diagram for dcpp::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 dcpp::scene::ITriangleSelector
virtual i32 getTriangleCount () const =0
 Get amount of all available triangles in this selector.
 
virtual void getTriangles (nub::triangle3df *triangles, i32 arraySize, i32 &outTriangleCount, const nub::matrix4 *transform=0, bool useNodeTransform=true, dcpp::nub::array< SCollisionTriangleRange > *outTriangleInfo=0) const =0
 Gets the triangles for one associated node.
 
virtual void getTriangles (nub::triangle3df *triangles, i32 arraySize, i32 &outTriangleCount, const nub::aabbox3d< f32 > &box, const nub::matrix4 *transform=0, bool useNodeTransform=true, dcpp::nub::array< SCollisionTriangleRange > *outTriangleInfo=0) const =0
 Gets the triangles for one associated node which may lie within a specific bounding box.
 
virtual void getTriangles (nub::triangle3df *triangles, i32 arraySize, i32 &outTriangleCount, const nub::line3d< f32 > &line, const nub::matrix4 *transform=0, bool useNodeTransform=true, dcpp::nub::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 dcpp::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.
 
i32 getReferenceCount () const
 Get the reference count.
 
const c8getDebugName () const
 Returns the debug name of the object.
 

Additional Inherited Members

- Protected Member Functions inherited from dcpp::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 dcpp::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 dcpp::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:

Duckcpp    @cppfx.xyz