VedaLib3DEngine/Object3DVirtualDynamic.h

00001 #ifndef COM_M4NKIND_Object3DVirtualDynamic_H
00002 #define COM_M4NKIND_Object3DVirtualDynamic_H
00003 
00004 #include "Object3DMeshVirtual.h"
00005 
00006 #include "PackLong_WithLimits.h"
00007 
00008 /*!
00009     \class  Object3DVirtualDynamic
00010     \ingroup BaseObjectInherited_VedaLib3DEngine
00011     \brief  virtual Class defining a Object3D Mesh which shape is dynamic or not,
00012         like Object3DVirtual, but which number of vertex and polygons may vary
00013         according to the shape. So this class ask 2 attributes members:
00014         a maximum number of vertex and a maximum number of polygons, so that
00015         it allocates these list once.
00016 */
00017 
00018 class Object3DVirtualDynamic : public Object3DMeshVirtual
00019 {
00020 /*==================================================================
00021                                 PUBLIC
00022 ==================================================================*/
00023 public:
00024     /*!
00025         \brief  Constructor. There should only be members initialisation there.
00026     */
00027     Object3DVirtualDynamic(void);
00028 
00029     /*!
00030         \brief  Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp
00031     */
00032     BASEOBJECT_DEFINE_VIRTUALCLASS(Object3DVirtualDynamic);
00033 
00034 /*==================================================================
00035                                 PROTECTED
00036 ==================================================================*/
00037 protected:
00038     //! the maximum number of vertex.
00039     PackLong_WithLimits     mSer_MaximumNumberOfVertex;
00040     //! the maximum number of Triangle.
00041     PackLong_WithLimits     mSer_MaximumNumberOfTriangle;
00042     /*!
00043         \brief  Alloc one VirtualMachine::Internal3DBuffer with the number of vertex and triangle defined.
00044             this sould be used by CreateInternal or CreateShape().
00045         \param  _i3DBufferFlag the flags used to declare the vertex members.
00046         \return true if OK, false if error. 
00047     */
00048     bool CreateInternal_Alloc1Internal3DBuffer(unsigned int _i3DBufferFlag);
00049 
00050 
00051 };
00052 
00053 #endif

      /\/\        4         N         k         !         N         D
                      _______  _ __ ___  _____            ___ _ _  ____
     ___________  __//___   /________  |/    / ___________\_______/    \
    /   _   _   \/   _     /    _   /      _/_/____/    _       __     /
   /    /   /       /     /    /    \      \/     /    /    \   \     /
  \\___/___/___/    ¯    _____/_____/       ______\___/_____/\________\\
               \________/_ ___ __ l____\      /elD!  
                 http://www.m4nkind.com \____/