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/class_NL3D__IShape.html | 324 +++++++++++++++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 docs/doxygen/nel/class_NL3D__IShape.html (limited to 'docs/doxygen/nel/class_NL3D__IShape.html') diff --git a/docs/doxygen/nel/class_NL3D__IShape.html b/docs/doxygen/nel/class_NL3D__IShape.html new file mode 100644 index 00000000..38396c80 --- /dev/null +++ b/docs/doxygen/nel/class_NL3D__IShape.html @@ -0,0 +1,324 @@ + + + + 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::IShape Class Reference

The basic interface for shapes. +More... +

+#include <shape.h> +

+Inheritance diagram for NL3D::IShape

Inheritance graph
+ + + + + + + + +
[legend]
Collaboration diagram for NL3D::IShape:

Collaboration graph
+ + + + + + +
[legend]
List of all members. + + + + + + + + + + + +

Public Methods

 IShape ()
 Constructor. More...

virtual ~IShape ()
 Dtor. More...

virtual CTransformShapecreateInstance (CScene &scene)
 create an instance of this shape. More...

virtual bool clip (const std::vector<CPlane> &pyramid)
 clip this shape with a pyramid. More...

virtual void render (IDriver *drv, CTransformShape *trans) = 0
 render() this shape in a driver, with the specified TransformShape information. More...

+

Detailed Description

+The basic interface for shapes. +

+A shape is a kind of instanciable mesh. For simplicity, render() and clip() virtual method are provided, so majority of shape could be implemented by just define those methods, and let createInstance() as default. But other complex shapes may be defined, by implement a compatible model which will comunicate with them. +

+Serialisation of a shape MUST be done with ISTREAM::serialPolyPtr. +

+DERIVER RULES:

    +
  • simple: just implement clip() and render(). The shape will be movable via CTransform.
  • complex: if special interaction is needed between the instance and the shape:
      +
    • implement a special Model, derived from CTransformShape, adding your instance behavior.
    • implement YourShape::createInstance(), so it create this good model.
    • implement your own communication system between the model and the shape.
    +
+
+Author(s):
+ Lionel Berenguier , Nevrax France
+Date:
+ 2000
+

+ +

+Definition at line 66 of file shape.h.


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + +
+NL3D::IShape::IShape ( + +) [inline] +
+
+ + + + + +
+   + + +

+Constructor. +

+ +

+Definition at line 71 of file shape.h.

+

+ + + + +
+ + + + + + +
+NL3D::IShape::~IShape ( + +) [inline, virtual] +
+
+ + + + + +
+   + + +

+Dtor. +

+ +

+Definition at line 73 of file shape.h.

+


Member Function Documentation

+

+ + + + +
+ + + + + + +
+bool NL3D::IShape::clip ( + +const std::vector< CPlane >& pyramid ) [inline, virtual] +
+
+ + + + + +
+   + + +

+clip this shape with a pyramid. +

+the pyramid is given in object space so the shape do not need to know the matrix of the object.

+Parameters:
+ + +
pyramid + the clipping polytope, planes MUST be normalized.
+
+Returns:
+ true if the object is visible, false otherwise. The default behavior is to return true (never clipped).
+

+Reimplemented in NL3D::CMesh, NL3D::CParticleSystemShape, and NL3D::CSkeletonShape. +

+Definition at line 87 of file shape.h.

+

+ + + + +
+ + + + + + +
+CTransformShape * NL3D::IShape::createInstance ( + +CScene & scene ) [virtual] +
+
+ + + + + +
+   + + +

+create an instance of this shape. +

+The instance may be a CTransformShape, or a specialized version of it. The default behavior is to createModel() a CTransformShape, and just assign to it the Shape.

+Parameters:
+ + +
scene + the scene used to createModel().
+
+Returns:
+ the specialized instance for this shape.
+

+Reimplemented in NL3D::CMesh, NL3D::CParticleSystemShape, and NL3D::CSkeletonShape. +

+Definition at line 44 of file shape.cpp.

+

+ + + + +
+ + + + + + + + + + +
+void NL3D::IShape::render ( + +IDriver * drv, +
+CTransformShape * trans ) [pure virtual] +
+
+ + + + + +
+   + + +

+render() this shape in a driver, with the specified TransformShape information. +

+CTransfromShape call this method in the render traversal. +

+Reimplemented in NL3D::CMesh, NL3D::CParticleSystemShape, and NL3D::CSkeletonShape.

+


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