RavEngine
Loading...
Searching...
No Matches
physx::Sn::RepXCollection Class Referenceabstract

#include <SnRepXCollection.h>

Inheritance diagram for physx::Sn::RepXCollection:
[legend]

Public Member Functions

virtual void destroy ()=0
 
virtual void setTolerancesScale (const PxTolerancesScale &inScale)=0
 
virtual PxTolerancesScale getTolerancesScale () const =0
 
virtual void setUpVector (const PxVec3 &inUpVector)=0
 
virtual PxVec3 getUpVector () const =0
 
virtual const char * getVersion ()=0
 
virtual const RepXCollectionItem * begin () const =0
 
virtual const RepXCollectionItem * end () const =0
 
virtual XmlNode * copyRepXNode (const XmlNode *srcNode)=0
 
virtual void addCollectionItem (RepXCollectionItem inItem)=0
 
virtual XmlNode & createRepXNode (const char *name)=0
 
virtual RepXCollection & createCollection (const char *inVersionStr)=0
 
virtual XmlReaderWriter & createNodeEditor ()=0
 
virtual PxAllocatorCallback & getAllocator ()=0
 
virtual bool instantiateCollection (PxRepXInstantiationArgs &inArgs, PxCollection &inPxCollection)=0
 
virtual RepXAddToCollectionResult addRepXObjectToCollection (const PxRepXObject &inObject, PxCollection *inCollection, PxRepXInstantiationArgs &inArgs)=0
 
virtual void save (PxOutputStream &inStream)=0
 

Static Public Member Functions

static const char * getLatestVersion ()
 

Detailed Description

A RepX collection contains a set of static data objects that can be transformed into live objects. It uses RepX serializer to do two transformations: live object <-> collection object (descriptor) collection object <-> file system.

A live object is considered to be something live in the physics world such as a material or a rigidstatic.

A collection object is a piece of data from which a live object of identical characteristics can be created.

Clients need to pass PxCollection so that objects can resolve references. In addition, objects must be added in an order such that references can be resolved in the first place. So objects must be added to the collection after objects they are dependent upon.

When deserializing from a file, the collection will allocate char*'s that will not be freed when the collection itself is freed. The user must be responsible for these character allocations.

Member Function Documentation

◆ getTolerancesScale()

virtual PxTolerancesScale physx::Sn::RepXCollection::getTolerancesScale ( ) const
pure virtual

Get the scale that was set at collection creation time or at load time. If this is a loaded file and the source data does not contain a scale this value will be invalid (PxTolerancesScale::isValid()).

Implemented in physx::Sn::RepXCollectionImpl.

◆ getUpVector()

virtual PxVec3 physx::Sn::RepXCollection::getUpVector ( ) const
pure virtual

If the up vector wasn't set, it will be (0,0,0). Else this will be the up vector optionally set when the collection was created.

Implemented in physx::Sn::RepXCollectionImpl.

◆ save()

virtual void physx::Sn::RepXCollection::save ( PxOutputStream &  inStream)
pure virtual

Save this collection out to a file stream. Uses the RepX serialize to perform collection object->file conversions.

/param[in] inStream Write-only stream to save collection out to.

Implemented in physx::Sn::RepXCollectionImpl.

◆ setTolerancesScale()

virtual void physx::Sn::RepXCollection::setTolerancesScale ( const PxTolerancesScale &  inScale)
pure virtual

Set the scale on this collection. The scale is saved with the collection.

If the scale wasn't set, it will be invalid.

Implemented in physx::Sn::RepXCollectionImpl.

◆ setUpVector()

virtual void physx::Sn::RepXCollection::setUpVector ( const PxVec3 &  inUpVector)
pure virtual

Set the up vector on this collection. The up vector is saved with the collection.

If the up vector wasn't set, it will be (0,0,0).

Implemented in physx::Sn::RepXCollectionImpl.


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