Public Types |
enum | TState { StateNotAdded = 0,
StateAdding,
StateAdded
} |
Public Methods |
virtual | ~UInstanceGroup () |
| Instance group. More...
|
virtual void | setTransformNameCallback (ITransformName *pTN)=0 |
| Set up the callback used at loading and instanciating of the instanceGroup. More...
|
virtual void | setAddRemoveInstanceCallback (IAddRemoveInstance *callback)=0 |
| set a callback to know when an instance has been added / removed from scene. More...
|
virtual void | setIGAddBeginCallback (IIGAddBegin *callback)=0 |
| Set a callback to know when an instance group is being created, and how many instances it contains. More...
|
virtual void | addToScene (class UScene &scene, UDriver *driver=NULL)=0 |
| Add all the instances to the scene. More...
|
virtual void | addToSceneAsync (class UScene &scene, UDriver *driver=NULL)=0 |
virtual void | stopAddToSceneAsync ()=0 |
virtual TState | getAddToSceneState ()=0 |
virtual void | removeFromScene (class UScene &scene)=0 |
| remove this instance group from the given scene. More...
|
virtual uint | getNumInstance () const=0 |
| Return the count of shape instance in this group. More...
|
virtual const std::string & | getShapeName (uint instanceNb) const=0 |
| Return the name of the shape refered by an instance of the group. More...
|
virtual const std::string & | getInstanceName (uint instanceNb) const=0 |
| Return the name of an instance of the group. More...
|
virtual void | getInstanceMatrix (uint instanceNb, NLMISC::CMatrix &dest) const=0 |
| Return the transformation matrix of an instance in the group NB no pivot is added. More...
|
virtual const NLMISC::CVector & | getInstancePos (uint instanceNb) const=0 |
| Return the position of an instance of the group. More...
|
virtual const NLMISC::CQuat & | getInstanceRot (uint instanceNb) const=0 |
| Return the rotation of an instance of the group. More...
|
virtual const NLMISC::CVector & | getInstanceScale (uint instanceNb) const=0 |
| Return the scale of an instance of the group. More...
|
virtual UInstance * | getByName (std::string &name)=0 |
| Return the instance at a given position. More...
|
virtual const UInstance * | getByName (std::string &name) const=0 |
| Return the instance at a given position (const version). More...
|
virtual void | setLightFactor (const std::string &LightName, NLMISC::CRGBA nFactor)=0 |
| Control a lightmap. More...
|
virtual void | setBlendShapeFactor (const std::string &bsName, float rFactor)=0 |
| Control a blendshape. More...
|
virtual void | createRoot (class UScene &scene)=0 |
| Create the link between scene and instance group before the addToScene to allow the instance group to be moved without being linked to a father cluster system. More...
|
virtual void | setClusterSystem (class UInstanceGroup *pClusterSystem)=0 |
| All the instances must be checked against the following cluster system. More...
|
virtual bool | linkToParentCluster (UInstanceGroup *father)=0 |
| Link this ig clusters as sons of clusters of 'ig' that conatains them. More...
|
virtual void | getDynamicPortals (std::vector< std::string > &names)=0 |
| Get all dynamic portals in the instance group. More...
|
virtual void | setDynamicPortal (std::string &name, bool opened)=0 |
| Set the state of a dynamic portal. More...
|
virtual bool | getDynamicPortal (std::string &name)=0 |
| Get the state of a dynamic portal. More...
|
virtual void | setPos (const NLMISC::CVector &pos)=0 |
| Set the position of the instance group Take care if the instance group is a cluster system, you must not move it outside its father cluster which is assigned at addToScene moment. More...
|
virtual void | setRotQuat (const NLMISC::CQuat &q)=0 |
| Set the rotation of the instance group. More...
|
virtual NLMISC::CVector | getPos ()=0 |
| Get the position. More...
|
virtual NLMISC::CQuat | getRotQuat ()=0 |
| Get the rotation. More...
|
virtual void | freezeHRC ()=0 |
| see UTransform::freezeHRC(). Do it for all instances (not clusters), and for the root of the IG. More...
|
virtual void | unfreezeHRC ()=0 |
| see UTransform::unfreezeHRC(). Do it for all instances (not clusters), and for the root of the IG. More...
|
|
virtual void | setPointLightFactor (const std::string &lightGroupName, NLMISC::CRGBA nFactor)=0 |
| set the Light factor for all pointLights of "lightGroupName". More...
|
virtual bool | getStaticLightSetup (const std::string &retrieverIdentifier, sint surfaceId, const NLMISC::CVector &localPos, std::vector< CPointLightInfluence > &pointLightList, uint8 &sunContribution, NLMISC::CRGBA &localAmbient)=0 |
| get the StaticLightSetup for a model at position localPos/retrieverIdentifier/surfaceId. More...
|
|
virtual void | setDistMax (uint instance, float dist)=0 |
virtual float | getDistMax (uint instance) const=0 |
virtual void | setCoarseMeshDist (uint instance, float dist)=0 |
virtual float | getCoarseMeshDist (uint instance) const=0 |
Static Public Methods |
UInstanceGroup * | createInstanceGroup (const std::string &instanceGroup) |
| This is the static function create a stand alone instance group. More...
|
void | createInstanceGroupAsync (const std::string &instanceGroup, UInstanceGroup **pIG) |
void | stopCreateInstanceGroupAsync (UInstanceGroup **pIG) |