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_Object3DMultiplier_H 00006 #define COM_M4NKIND_Object3DMultiplier_H 00007 00008 #include "PackObjectReference.h" 00009 #include "Object3DVirtual.h" 00010 #include "PackDynamicFloat.h" 00011 /*! 00012 \class Object3DMultiplier 00013 \ingroup BaseObjectInherited_VedaLib3DEngine 00014 \brief 3D Object that Renders Multiple objects using a particle set. 00015 */ 00016 00017 class Object3DMultiplier : public Object3DVirtual 00018 { 00019 /*================================================================== 00020 PUBLIC 00021 ==================================================================*/ 00022 public: 00023 /*! 00024 \brief Constructor. There should only be members initialisation there. 00025 */ 00026 Object3DMultiplier(void); 00027 00028 /*! 00029 \brief Class Inheritance Descriptors. Also forces a destructor. See BASEOBJECT_DECLARE_... in .cpp 00030 */ 00031 BASEOBJECT_DEFINE_CLASS(Object3DMultiplier); 00032 /*! 00033 \brief Process a real time computing and drawing. Can be extended. 00034 \param _frameDate a date, in second, which defines the effect cinematic. 00035 \param _pViewPort description of the viewport where to render. 00036 \param _rgba red green blue alpha component. 00037 \param _shapeIndex optional index for multiple shape objects. def to zero. 00038 \param _pModifierList optional ShapeModifierList pointer, to modify objects. 00039 */ 00040 virtual void RenderObject( double _frameDate, 00041 VirtualMachine::InternalViewPort *_pViewPort, 00042 const float _rgba[4], 00043 unsigned int _shapeIndex=0, 00044 ShapeModifierList *_pModifierList=0L ); 00045 00046 #ifdef _ENGINE_EDITABLE_ 00047 /*! 00048 \brief a GUI could need to play, draw, print, or output from any way, a preview of a 00049 created object. This is done with this method. sub classes can implement it (or not) in 00050 any way, to explicit current shape of an object.<br> 00051 00052 \param _frameDate a date, in second, which defines the effect cinematic. 00053 \param _pPreviewViewPort the viewport to render. Can't be 0L. 00054 \param _pPreviewConfiguration 00055 */ 00056 virtual void ProcessPreview(double _frameDate,VirtualMachine::InternalViewPort *_pPreviewViewPort,const PreviewConfiguration *_pPreviewConfiguration); 00057 #endif 00058 /*================================================================== 00059 PROTECTED 00060 ==================================================================*/ 00061 protected: 00062 00063 //! object shape. 00064 PackObjectReference m_ShapeReference; 00065 //! particle reference to place the objects: 00066 PackObjectReference m_ParticleSetReference; 00067 00068 //re? PackDynamicFloat m_WeightScale; 00069 00070 00071 }; 00072 00073 #endif
/\/\ 4 N k ! N D _______ _ __ ___ _____ ___ _ _ ____ ___________ __//___ /________ |/ / ___________\_______/ \ / _ _ \/ _ / _ / _/_/____/ _ __ / / / / / / / \ \/ / / \ \ / \\___/___/___/ ¯ _____/_____/ ______\___/_____/\________\\ \________/_ ___ __ l____\ /elD! http://www.m4nkind.com \____/