00001 /*! \file 00002 \author victorien ferry & www.m4nkind.com 00003 \brief This file applies the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 , read file COPYING. 00004 */ 00005 #ifndef COM_M4NKIND_Object3DGrid_H 00006 #define COM_M4NKIND_Object3DGrid_H 00007 #include "Object3DMeshVirtual.h" 00008 00009 #include "PackFloatByte_Limits.h" 00010 #include "PackDynamicType.h" 00011 #include "PackLong_WithLimits.h" 00012 #include "PackULong_Flags.h" 00013 #include "PackTreeCell.h" 00014 /*! 00015 \class Object3DGrid 00016 \ingroup BaseObjectInherited_VedaLib3DEngine 00017 \brief Define an object with a list of vertex and polygons. 00018 */ 00019 00020 class Object3DGrid : public Object3DMeshVirtual 00021 { 00022 /*================================================================== 00023 PUBLIC 00024 ==================================================================*/ 00025 public: 00026 /*! 00027 \brief Constructor. There should only be members initialisation there. 00028 */ 00029 Object3DGrid(void); 00030 00031 /*! 00032 \brief Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp 00033 */ 00034 BASEOBJECT_DEFINE_CLASS(Object3DGrid); 00035 00036 /*================================================================== 00037 PROTECTED 00038 ==================================================================*/ 00039 protected: 00040 //! subdivision. 00041 PackLong_WithLimits mSer_SubdivisionX; 00042 //! subdivision. 00043 PackLong_WithLimits mSer_SubdivisionY; 00044 //! space dimension. 00045 PackFloat mSer_DimensionXY; 00046 //! coord yx mapping 00047 PackFloat mSer_MappingUV1; 00048 //! coord yx mapping 00049 PackFloat mSer_MappingUV2; 00050 00051 /*! 00052 \brief Method that really build the object using the serializable parameters. 00053 Close() should close everything opened by CreateInternal(). 00054 */ 00055 virtual bool CreateInternal(void); 00056 /*! 00057 \brief update the shape of the object for this date, during 00058 the lifetime the object, when it is created. 00059 by defdault, does nothing, so static object can be created 00060 with CreateInternal() only. 00061 \param _newShapeTime the new date. 00062 \param _shapeIndex the index of the shape to modify. 00063 */ 00064 virtual void CreateShape(float _newShapeTime, unsigned int _shapeIndex=0); 00065 }; 00066 00067 #endif
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/