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_1CPSMesh.html | 915 +++++++++++++++++++++++++++++ 1 file changed, 915 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1CPSMesh.html (limited to 'docs/doxygen/nel/classNL3D_1_1CPSMesh.html') diff --git a/docs/doxygen/nel/classNL3D_1_1CPSMesh.html b/docs/doxygen/nel/classNL3D_1_1CPSMesh.html new file mode 100644 index 00000000..765da7e1 --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1CPSMesh.html @@ -0,0 +1,915 @@ + + + + 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::CPSMesh Class Reference

This class is for mesh handling. +More... +

+#include <ps_mesh.h> +

+

Inheritance diagram for NL3D::CPSMesh: +

+ +NL3D::CPSParticle +NL3D::CPSSizedParticle +NL3D::CPSRotated3DPlaneParticle +NL3D::CPSRotated2DParticle +NL3D::CPSShapeParticle +NL3D::CPSLocatedBindable +NLMISC::IStreamable +NLMISC::IClassable + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Methods

 CPSMesh (const std::string &shape="")
 construct the system by using the given shape for mesh. More...

void setShape (const std::string &shape)
 set a new shape for that kind of particles. More...

std::string getShape (void) const
 get the shape used for those particles. More...

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialisation. Derivers must override this, and call their parent version. More...

virtual ~CPSMesh ()
 NLMISC_DECLARE_CLASS (CPSMesh)
void invalidate ()
 invalidate the transformShapes that were inserted in the scene, so they need to be rebuilt during the next rendering. More...

virtual bool hasTransparentFaces (void)
 return true if there are transparent faces in the object. More...

virtual bool hasOpaqueFaces (void)
 return true if there are Opaque faces in the object. More...

virtual uint32 getMaxNumFaces (void) const
 return the max number of faces needed for display. This is needed for LOD balancing. More...


Protected Types

typedef CPSAttrib< CTransformShape * > TInstanceCont

Protected Methods

virtual void newElement (CPSLocated *emitterLocated, uint32 emitterIndex)
 Generate a new element for this bindable. More...

virtual void deleteElement (uint32 index)
 Delete an element given its index Attributes of the located that hold this bindable are still accessible for the index given index out of range -> nl_assert. More...

virtual void step (TPSProcessPass pass, TAnimationTime ellapsedTime, TAnimationTime realEt)
 process one pass for the particles. More...

virtual void updatePos ()
 in fact we don't draw the meshs, we just update their pos... More...

virtual void resize (uint32 size)
 Resize the bindable attributes containers. More...

virtual CPSLocatedgetSizeOwner (void)
 deriver must return their owner there. More...

virtual CPSLocatedgetAngle2DOwner (void)
 deriver must return their owner there. More...

virtual CPSLocatedgetPlaneBasisOwner (void)
 if this is false, constant size will be used instead of a scheme deriver must return their owner there. More...


Protected Attributes

std::string _Shape
TInstanceCont _Instances
bool _Invalidated
+

Detailed Description

+This class is for mesh handling. +

+It operates with any mesh, but it must insert them in the scene... It is not very adapted for lots of little meshs.. To create the mesh basis, we use CPlaneBasis here. It give us the I and J vector of the basis for each mesh and compute K ( K = I ^ J) +

+ +

+Definition at line 72 of file ps_mesh.h.


Member Typedef Documentation

+

+ + + + +
+ + +
typedef CPSAttrib<CTransformShape *> NL3D::CPSMesh::TInstanceCont [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 145 of file ps_mesh.h.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + +
NL3D::CPSMesh::CPSMesh const std::string &   shape = "" [inline]
+
+ + + + + +
+   + + +

+construct the system by using the given shape for mesh. +

+ +

+Definition at line 80 of file ps_mesh.h. +

+References _Invalidated, NL3D::CPSLocatedBindable::_Name, and _Shape.

+

+ + + + +
+ + + + + + + + + +
NL3D::CPSMesh::~CPSMesh   [virtual]
+
+ + + + + +
+   + + +

+ +

+Definition at line 412 of file ps_mesh.cpp. +

+References _Instances, NL3D::CPSLocatedBindable::_Owner, and nlassert.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSMesh::deleteElement uint32   index [protected, virtual]
+
+ + + + + +
+   + + +

+Delete an element given its index Attributes of the located that hold this bindable are still accessible for the index given index out of range -> nl_assert. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 238 of file ps_mesh.cpp. +

+References _Instances, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSRotated2DParticle::deleteAngle2DElement, NL3D::CPSRotated3DPlaneParticle::deletePlaneBasisElement, NL3D::CPSSizedParticle::deleteSizeElement, index, and nlassert.

+

+ + + + +
+ + + + + + + + + + +
virtual CPSLocated* NL3D::CPSMesh::getAngle2DOwner void   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+deriver must return their owner there. +

+ +

+Implements NL3D::CPSRotated2DParticle. +

+Definition at line 154 of file ps_mesh.h. +

+References NL3D::CPSLocatedBindable::_Owner, and NL3D::CPSLocatedBindable::CPSLocated.

+

+ + + + +
+ + + + + + + + + + +
uint32 NL3D::CPSMesh::getMaxNumFaces void   const [virtual]
+
+ + + + + +
+   + + +

+return the max number of faces needed for display. This is needed for LOD balancing. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 182 of file ps_mesh.cpp.

+

+ + + + +
+ + + + + + + + + + +
virtual CPSLocated* NL3D::CPSMesh::getPlaneBasisOwner void   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+if this is false, constant size will be used instead of a scheme deriver must return their owner there. +

+ +

+Implements NL3D::CPSRotated3DPlaneParticle. +

+Definition at line 155 of file ps_mesh.h. +

+References NL3D::CPSLocatedBindable::_Owner, and NL3D::CPSLocatedBindable::CPSLocated.

+

+ + + + +
+ + + + + + + + + + +
std::string NL3D::CPSMesh::getShape void   const [inline, virtual]
+
+ + + + + +
+   + + +

+get the shape used for those particles. +

+ +

+Implements NL3D::CPSShapeParticle. +

+Definition at line 90 of file ps_mesh.h. +

+References _Shape.

+

+ + + + +
+ + + + + + + + + + +
virtual CPSLocated* NL3D::CPSMesh::getSizeOwner void   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+deriver must return their owner there. +

+ +

+Implements NL3D::CPSSizedParticle. +

+Definition at line 153 of file ps_mesh.h. +

+References NL3D::CPSLocatedBindable::_Owner, and NL3D::CPSLocatedBindable::CPSLocated.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSMesh::hasOpaqueFaces void   [virtual]
+
+ + + + + +
+   + + +

+return true if there are Opaque faces in the object. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 196 of file ps_mesh.cpp.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSMesh::hasTransparentFaces void   [virtual]
+
+ + + + + +
+   + + +

+return true if there are transparent faces in the object. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 189 of file ps_mesh.cpp.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CPSMesh::invalidate   [inline]
+
+ + + + + +
+   + + +

+invalidate the transformShapes that were inserted in the scene, so they need to be rebuilt during the next rendering. +

+This is useful for clipping, or when the system has been loaded +

+Definition at line 104 of file ps_mesh.h. +

+References _Instances, and _Invalidated.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CPSMesh::newElement CPSLocated  emitterLocated,
uint32   emitterIndex
[protected, virtual]
+
+ + + + + +
+   + + +

+Generate a new element for this bindable. +

+They are generated according to the properties of the class +

+Implements NL3D::CPSParticle. +

+Definition at line 203 of file ps_mesh.cpp. +

+References _Instances, NL3D::CPSLocatedBindable::_Owner, _Shape, NL3D::CreateDummyShape, NL3D::DummyShapeName, NL3D::CPSRotated2DParticle::newAngle2DElement, NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement, NL3D::CPSSizedParticle::newSizeElement, and nlassert.

+

+ + + + +
+ + + + + + + + + + +
NL3D::CPSMesh::NLMISC_DECLARE_CLASS CPSMesh  
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSMesh::resize uint32   size [protected, virtual]
+
+ + + + + +
+   + + +

+Resize the bindable attributes containers. +

+Size is the max number of element to be contained. DERIVERS MUST CALL THEIR PARENT VERSION should not be called directly. Call CPSLocated::resize instead +

+Implements NL3D::CPSParticle. +

+Definition at line 401 of file ps_mesh.cpp. +

+References _Instances, nlassert, NL3D::CPSRotated2DParticle::resizeAngle2D, NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis, and NL3D::CPSSizedParticle::resizeSize. +

+Referenced by updatePos.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSMesh::serial NLMISC::IStream  f throw (NLMISC::EStream) [virtual]
+
+ + + + + +
+   + + +

+serialisation. Derivers must override this, and call their parent version. +

+ +

+Reimplemented from NL3D::CPSParticle. +

+Definition at line 166 of file ps_mesh.cpp.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSMesh::setShape const std::string &   shape [inline, virtual]
+
+ + + + + +
+   + + +

+set a new shape for that kind of particles. +

+ +

+Implements NL3D::CPSShapeParticle. +

+Definition at line 87 of file ps_mesh.h. +

+References _Shape.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CPSMesh::step TPSProcessPass   pass,
TAnimationTime   ellapsedTime,
TAnimationTime   realEt
[protected, virtual]
+
+ + + + + +
+   + + +

+process one pass for the particles. +

+The default behaviour shows the particles +

+Reimplemented from NL3D::CPSParticle. +

+Definition at line 258 of file ps_mesh.cpp. +

+References NL3D::PSSolidRender, NL3D::PSToolRender, NL3D::CPSParticle::showTool, NL3D::TAnimationTime, NL3D::TPSProcessPass, and updatePos.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CPSMesh::updatePos   [protected, virtual]
+
+ + + + + +
+   + + +

+in fact we don't draw the meshs, we just update their pos... +

+ +

+Definition at line 273 of file ps_mesh.cpp. +

+References NL3D::CPSRotated2DParticle::_Angle2D, NL3D::CPSRotated2DParticle::_Angle2DScheme, _Instances, _Invalidated, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSSizedParticle::_ParticleSize, NL3D::CPSRotated3DPlaneParticle::_PlaneBasis, NL3D::CPSRotated3DPlaneParticle::_PlaneBasisScheme, _Shape, NL3D::CPSSizedParticle::_SizeScheme, NL3D::CPSLocatedBindable::getSysMat, nlassert, and resize. +

+Referenced by step.

+


Member Data Documentation

+

+ + + + +
+ + +
TInstanceCont NL3D::CPSMesh::_Instances [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 147 of file ps_mesh.h. +

+Referenced by deleteElement, invalidate, newElement, resize, updatePos, and ~CPSMesh.

+

+ + + + +
+ + +
bool NL3D::CPSMesh::_Invalidated [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 151 of file ps_mesh.h. +

+Referenced by CPSMesh, invalidate, and updatePos.

+

+ + + + +
+ + +
std::string NL3D::CPSMesh::_Shape [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 142 of file ps_mesh.h. +

+Referenced by CPSMesh, getShape, newElement, setShape, and updatePos.

+


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