From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/classNL3D_1_1UInstanceGroup.html | 1739 +++++++++++++++++++++ 1 file changed, 1739 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1UInstanceGroup.html (limited to 'docs/doxygen/nel/classNL3D_1_1UInstanceGroup.html') diff --git a/docs/doxygen/nel/classNL3D_1_1UInstanceGroup.html b/docs/doxygen/nel/classNL3D_1_1UInstanceGroup.html new file mode 100644 index 00000000..281c2593 --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1UInstanceGroup.html @@ -0,0 +1,1739 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# Home   # nevrax.com   
+ + + + +
Nevrax
+ + + + + + + + + + +
+ + +
+ Nevrax.org
+ + + + + + + +
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
+
+ + +
+ + +
+Docs + +
+  + + + + + +
Documentation 
+ +
+Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  
+

NL3D::UInstanceGroup Class Reference

Game interface for managing group instance. +More... +

+#include <u_instance_group.h> +

+

Inheritance diagram for NL3D::UInstanceGroup: +

+ +NL3D::CInstanceGroupUser + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

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::CVectorgetInstancePos (uint instanceNb) const=0
 Return the position of an instance of the group. More...

virtual const NLMISC::CQuatgetInstanceRot (uint instanceNb) const=0
 Return the rotation of an instance of the group. More...

virtual const NLMISC::CVectorgetInstanceScale (uint instanceNb) const=0
 Return the scale of an instance of the group. More...

virtual UInstancegetByName (std::string &name)=0
 Return the instance at a given position. More...

virtual const UInstancegetByName (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...

PointLight part
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...

Distances
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)
+

Detailed Description

+Game interface for managing group instance. +

+

+Author:
+Cyril 'Hulud' Corvazier , Nevrax France
+Date:
+2001
+

+ +

+Definition at line 103 of file u_instance_group.h.


Member Enumeration Documentation

+

+ + + + +
+ + +
enum NL3D::UInstanceGroup::TState +
+
+ + + + + +
+   + + +

+

+Enumeration values:
+ + + + +
StateNotAdded  +
StateAdding  +
StateAdded  +
+
+ +

+Definition at line 107 of file u_instance_group.h.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
virtual NL3D::UInstanceGroup::~UInstanceGroup   [inline, virtual]
+
+ + + + + +
+   + + +

+Instance group. +

+ +

+Definition at line 112 of file u_instance_group.h.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::addToScene class UScene  scene,
UDriver  driver = NULL
[pure virtual]
+
+ + + + + +
+   + + +

+Add all the instances to the scene. +

+By default, freezeHRC() those instances and the root.

+Parameters:
+ + + +
scene  +is the scene in which you want to add the instance group.
driver  +is a pointer to a driver. If this pointer is not NULL, the textures used by the shapes will be preloaded in this driver. If the pointer is NULL (default), textures will ve loaded when the shape will be used.
+
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::addToSceneAsync class UScene  scene,
UDriver  driver = NULL
[pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
UInstanceGroup * NL3D::UInstanceGroup::createInstanceGroup const std::string &   instanceGroup [static]
+
+ + + + + +
+   + + +

+This is the static function create a stand alone instance group. +

+ +

+Definition at line 44 of file instance_group_user.cpp.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::UInstanceGroup::createInstanceGroupAsync const std::string &   instanceGroup,
UInstanceGroup **   pIG
[static]
+
+ + + + + +
+   + + +

+ +

+Definition at line 66 of file instance_group_user.cpp.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::createRoot class UScene  scene [pure virtual]
+
+ + + + + +
+   + + +

+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. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + +
virtual void NL3D::UInstanceGroup::freezeHRC   [pure virtual]
+
+ + + + + +
+   + + +

+see UTransform::freezeHRC(). Do it for all instances (not clusters), and for the root of the IG. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + +
virtual TState NL3D::UInstanceGroup::getAddToSceneState   [pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual const UInstance* NL3D::UInstanceGroup::getByName std::string &   name const [pure virtual]
+
+ + + + + +
+   + + +

+Return the instance at a given position (const version). +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual UInstance* NL3D::UInstanceGroup::getByName std::string &   name [pure virtual]
+
+ + + + + +
+   + + +

+Return the instance at a given position. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual float NL3D::UInstanceGroup::getCoarseMeshDist uint   instance const [pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual float NL3D::UInstanceGroup::getDistMax uint   instance const [pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual bool NL3D::UInstanceGroup::getDynamicPortal std::string &   name [pure virtual]
+
+ + + + + +
+   + + +

+Get the state of a dynamic portal. +

+

+Returns:
+the state (true=opened, false=closed) of a dynamic portal
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::getDynamicPortals std::vector< std::string > &   names [pure virtual]
+
+ + + + + +
+   + + +

+Get all dynamic portals in the instance group. +

+

+Returns:
+a vector of portal names
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::getInstanceMatrix uint   instanceNb,
NLMISC::CMatrix  dest
const [pure virtual]
+
+ + + + + +
+   + + +

+Return the transformation matrix of an instance in the group NB no pivot is added. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual const std::string& NL3D::UInstanceGroup::getInstanceName uint   instanceNb const [pure virtual]
+
+ + + + + +
+   + + +

+Return the name of an instance of the group. +

+

+Parameters:
+ + +
instanceNb  +is the number of the instance.
+
+Returns:
+the name of the instance.
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual const NLMISC::CVector& NL3D::UInstanceGroup::getInstancePos uint   instanceNb const [pure virtual]
+
+ + + + + +
+   + + +

+Return the position of an instance of the group. +

+

+Parameters:
+ + +
instanceNb  +is the number of the instance.
+
+Returns:
+the position of the instance.
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual const NLMISC::CQuat& NL3D::UInstanceGroup::getInstanceRot uint   instanceNb const [pure virtual]
+
+ + + + + +
+   + + +

+Return the rotation of an instance of the group. +

+

+Parameters:
+ + +
instanceNb  +is the number of the instance.
+
+Returns:
+the rotation of the instance.
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual const NLMISC::CVector& NL3D::UInstanceGroup::getInstanceScale uint   instanceNb const [pure virtual]
+
+ + + + + +
+   + + +

+Return the scale of an instance of the group. +

+

+Parameters:
+ + +
instanceNb  +is the number of the instance.
+
+Returns:
+the scale of the instance.
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + +
virtual uint NL3D::UInstanceGroup::getNumInstance   const [pure virtual]
+
+ + + + + +
+   + + +

+Return the count of shape instance in this group. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + +
virtual NLMISC::CVector NL3D::UInstanceGroup::getPos   [pure virtual]
+
+ + + + + +
+   + + +

+Get the position. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + +
virtual NLMISC::CQuat NL3D::UInstanceGroup::getRotQuat   [pure virtual]
+
+ + + + + +
+   + + +

+Get the rotation. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual const std::string& NL3D::UInstanceGroup::getShapeName uint   instanceNb const [pure virtual]
+
+ + + + + +
+   + + +

+Return the name of the shape refered by an instance of the group. +

+

+Parameters:
+ + +
instanceNb  +is the number of the instance.
+
+Returns:
+the name of the shape.
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool NL3D::UInstanceGroup::getStaticLightSetup const std::string &   retrieverIdentifier,
sint   surfaceId,
const NLMISC::CVector  localPos,
std::vector< CPointLightInfluence > &   pointLightList,
uint8  sunContribution,
NLMISC::CRGBA  localAmbient
[pure virtual]
+
+ + + + + +
+   + + +

+get the StaticLightSetup for a model at position localPos/retrieverIdentifier/surfaceId. +

+NB: all are get with help of UGlobalPosition. localPos= gp.LocalPosition.Estimated +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual bool NL3D::UInstanceGroup::linkToParentCluster UInstanceGroup *   father [pure virtual]
+
+ + + + + +
+   + + +

+Link this ig clusters as sons of clusters of 'ig' that conatains them. +

+

+Returns:
+true if the link succeeded
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::removeFromScene class UScene  scene [pure virtual]
+
+ + + + + +
+   + + +

+remove this instance group from the given scene. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setAddRemoveInstanceCallback IAddRemoveInstance  callback [pure virtual]
+
+ + + + + +
+   + + +

+set a callback to know when an instance has been added / removed from scene. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setBlendShapeFactor const std::string &   bsName,
float   rFactor
[pure virtual]
+
+ + + + + +
+   + + +

+Control a blendshape. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setClusterSystem class UInstanceGroup *   pClusterSystem [pure virtual]
+
+ + + + + +
+   + + +

+All the instances must be checked against the following cluster system. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setCoarseMeshDist uint   instance,
float   dist
[pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setDistMax uint   instance,
float   dist
[pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setDynamicPortal std::string &   name,
bool   opened
[pure virtual]
+
+ + + + + +
+   + + +

+Set the state of a dynamic portal. +

+

+Parameters:
+ + + +
name  +is the name of the dynamic portal to open or close
opened  +is the state the portal will have (true=opened, false=closed)
+
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setIGAddBeginCallback IIGAddBegin  callback [pure virtual]
+
+ + + + + +
+   + + +

+Set a callback to know when an instance group is being created, and how many instances it contains. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setLightFactor const std::string &   LightName,
NLMISC::CRGBA   nFactor
[pure virtual]
+
+ + + + + +
+   + + +

+Control a lightmap. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setPointLightFactor const std::string &   lightGroupName,
NLMISC::CRGBA   nFactor
[pure virtual]
+
+ + + + + +
+   + + +

+set the Light factor for all pointLights of "lightGroupName". +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setPos const NLMISC::CVector  pos [pure virtual]
+
+ + + + + +
+   + + +

+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. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setRotQuat const NLMISC::CQuat  q [pure virtual]
+
+ + + + + +
+   + + +

+Set the rotation of the instance group. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
virtual void NL3D::UInstanceGroup::setTransformNameCallback ITransformName  pTN [pure virtual]
+
+ + + + + +
+   + + +

+Set up the callback used at loading and instanciating of the instanceGroup. +

+

+Parameters:
+ + +
pTN  +is the transformName class that hold the callback
+
+

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + +
virtual void NL3D::UInstanceGroup::stopAddToSceneAsync   [pure virtual]
+
+ + + + + +
+   + + +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::UInstanceGroup::stopCreateInstanceGroupAsync UInstanceGroup **   pIG [static]
+
+ + + + + +
+   + + +

+ +

+Definition at line 74 of file instance_group_user.cpp. +

+References NLMISC::nlSleep.

+

+ + + + +
+ + + + + + + + + +
virtual void NL3D::UInstanceGroup::unfreezeHRC   [pure virtual]
+
+ + + + + +
+   + + +

+see UTransform::unfreezeHRC(). Do it for all instances (not clusters), and for the root of the IG. +

+ +

+Implemented in NL3D::CInstanceGroupUser.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1