Changed: #1193 Code cleanup.

This commit is contained in:
timon 2010-11-26 13:54:06 +02:00
parent 6934b285e2
commit ffb5b2678b
141 changed files with 4702 additions and 3665 deletions

View file

@ -29,7 +29,8 @@
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
CAnimationDialog::CAnimationDialog(QWidget *parent) CAnimationDialog::CAnimationDialog(QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -33,7 +33,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
/** /**
@class CAnimationDialog @class CAnimationDialog

View file

@ -29,7 +29,8 @@
#include "modules.h" #include "modules.h"
#include "entity.h" #include "entity.h"
namespace NLQT { namespace NLQT
{
CAnimationSetDialog::CAnimationSetDialog(QWidget *parent) CAnimationSetDialog::CAnimationSetDialog(QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
/** /**
@class CAnimationSetDialog @class CAnimationSetDialog
@brief Dialog - Animations control, loading animation, weight for skeleton and playlist composition. @brief Dialog - Animations control, loading animation, weight for skeleton and playlist composition.

View file

@ -40,7 +40,8 @@
#include "spinner_dialog.h" #include "spinner_dialog.h"
#include "follow_path_dialog.h" #include "follow_path_dialog.h"
namespace NLQT { namespace NLQT
{
CAttribWidget::CAttribWidget(QWidget *parent) CAttribWidget::CAttribWidget(QWidget *parent)
: QGroupBox(parent), : QGroupBox(parent),

View file

@ -38,7 +38,8 @@
#include "ps_wrapper.h" #include "ps_wrapper.h"
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CAttribWidget @class CAttribWidget
@brief Base attrib maker edition dialog. @brief Base attrib maker edition dialog.
@ -70,9 +71,15 @@ public:
virtual void setSchemeNbCycles(float nbCycles) = 0; virtual void setSchemeNbCycles(float nbCycles) = 0;
/// Enable the srcInput /// Enable the srcInput
void enableSrcInput(bool enable = true) { _SrcInputEnabled = enable; } void enableSrcInput(bool enable = true)
{
_SrcInputEnabled = enable;
}
bool isSrcInputEnabled() const { return _SrcInputEnabled; } bool isSrcInputEnabled() const
{
return _SrcInputEnabled;
}
/// Disable the possibility to choose a scheme that has memory. (for example, a scheme for lifetime of a located has no sense /// Disable the possibility to choose a scheme that has memory. (for example, a scheme for lifetime of a located has no sense
/// because located have already some memory to store it) /// because located have already some memory to store it)
@ -80,11 +87,20 @@ public:
/// Tells wether memory schemes are enables /// Tells wether memory schemes are enables
/// @see enableMemoryScheme() /// @see enableMemoryScheme()
bool isMemorySchemeEnabled() const { return !_DisableMemoryScheme; } bool isMemorySchemeEnabled() const
{
return !_DisableMemoryScheme;
}
/// Enable Nb Cycle tuning /// Enable Nb Cycle tuning
void enableNbCycles(bool enabled) { _NbCycleEnabled = enabled; } void enableNbCycles(bool enabled)
bool isNbCycleEnabled() const { return _NbCycleEnabled; } {
_NbCycleEnabled = enabled;
}
bool isNbCycleEnabled() const
{
return _NbCycleEnabled;
}
private Q_SLOTS: private Q_SLOTS:
virtual void clickedEdit(); virtual void clickedEdit();
@ -160,8 +176,14 @@ protected:
struct CNbCyclesWrapper : public IPSWrapperFloat struct CNbCyclesWrapper : public IPSWrapperFloat
{ {
CAttribWidget *widget; CAttribWidget *widget;
float get(void) const { return widget->getSchemeNbCycles(); } float get(void) const
void set(const float &v) { widget->setSchemeNbCycles(v); } {
return widget->getSchemeNbCycles();
}
void set(const float &v)
{
widget->setSchemeNbCycles(v);
}
} _NbCyclesWrapper; } _NbCyclesWrapper;
CWorkspaceNode *_Node; CWorkspaceNode *_Node;
@ -184,7 +206,11 @@ public:
{ {
} }
virtual void setWrapper(IPSWrapper<T> *wrapper) = 0; virtual void setWrapper(IPSWrapper<T> *wrapper) = 0;
void setSchemeWrapper(IPSSchemeWrapper<T> *schemeWrapper) { nlassert(schemeWrapper); _SchemeWrapper = schemeWrapper; } void setSchemeWrapper(IPSSchemeWrapper<T> *schemeWrapper)
{
nlassert(schemeWrapper);
_SchemeWrapper = schemeWrapper;
}
// Inherited from CAttribWidget // Inherited from CAttribWidget
virtual QDialog *editScheme(void) = 0; virtual QDialog *editScheme(void) = 0;
@ -196,22 +222,51 @@ public:
_Wrapper->setAndUpdateModifiedFlag(_Wrapper->get()); // reuse current color _Wrapper->setAndUpdateModifiedFlag(_Wrapper->get()); // reuse current color
} }
virtual bool hasSchemeCustomInput(void) const { return _SchemeWrapper->getScheme()->hasCustomInput(); } virtual bool hasSchemeCustomInput(void) const
virtual NL3D::CPSInputType getSchemeInput(void) const { return _SchemeWrapper->getScheme()->getInput(); } {
virtual void setSchemeInput(const NL3D::CPSInputType &input) { _SchemeWrapper->getScheme()->setInput(input); } return _SchemeWrapper->getScheme()->hasCustomInput();
}
virtual NL3D::CPSInputType getSchemeInput(void) const
{
return _SchemeWrapper->getScheme()->getInput();
}
virtual void setSchemeInput(const NL3D::CPSInputType &input)
{
_SchemeWrapper->getScheme()->setInput(input);
}
virtual void setWorkspaceNode(CWorkspaceNode *node) virtual void setWorkspaceNode(CWorkspaceNode *node)
{ {
_Node = node; if (_Wrapper != NULL) _Wrapper->OwnerNode = _Node; if (_SchemeWrapper != NULL) _SchemeWrapper->OwnerNode = _Node; _Node = node;
if (_Wrapper != NULL) _Wrapper->OwnerNode = _Node;
if (_SchemeWrapper != NULL) _SchemeWrapper->OwnerNode = _Node;
}; };
virtual float getSchemeNbCycles(void) const { return _SchemeWrapper->getScheme()->getNbCycles(); } virtual float getSchemeNbCycles(void) const
virtual void setSchemeNbCycles(float nbCycles) { _SchemeWrapper->getScheme()->setNbCycles(nbCycles); } {
return _SchemeWrapper->getScheme()->getNbCycles();
}
virtual void setSchemeNbCycles(float nbCycles)
{
_SchemeWrapper->getScheme()->setNbCycles(nbCycles);
}
virtual bool isSchemeClamped(void) const { return _SchemeWrapper->getScheme()->getClamping(); } virtual bool isSchemeClamped(void) const
virtual void clampScheme(bool clamped = true) { _SchemeWrapper->getScheme()->setClamping(clamped); } {
virtual bool isClampingSupported(void) const { return _SchemeWrapper->getScheme()->isClampingSupported(); }; return _SchemeWrapper->getScheme()->getClamping();
virtual NL3D::CPSAttribMakerBase *getCurrentSchemePtr(void) const { return _SchemeWrapper->getScheme(); } }
virtual void clampScheme(bool clamped = true)
{
_SchemeWrapper->getScheme()->setClamping(clamped);
}
virtual bool isClampingSupported(void) const
{
return _SchemeWrapper->getScheme()->isClampingSupported();
};
virtual NL3D::CPSAttribMakerBase *getCurrentSchemePtr(void) const
{
return _SchemeWrapper->getScheme();
}
virtual void setCurrentSchemePtr(NL3D::CPSAttribMakerBase *s) virtual void setCurrentSchemePtr(NL3D::CPSAttribMakerBase *s)
{ {
_SchemeWrapper->setSchemeAndUpdateModifiedFlag(NLMISC::safe_cast<NL3D::CPSAttribMaker<T> *>(s)); _SchemeWrapper->setSchemeAndUpdateModifiedFlag(NLMISC::safe_cast<NL3D::CPSAttribMaker<T> *>(s));

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
CAutoLODDialog::CAutoLODDialog(CWorkspaceNode *ownerNode, NL3D::CParticleSystem *ps, QWidget *parent) CAutoLODDialog::CAutoLODDialog(CWorkspaceNode *ownerNode, NL3D::CParticleSystem *ps, QWidget *parent)
: QDialog(parent), _Node(ownerNode), _PS(ps) : QDialog(parent), _Node(ownerNode), _PS(ps)

View file

@ -32,7 +32,8 @@
// Project includes // Project includes
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
class CAutoLODDialog: public QDialog class CAutoLODDialog: public QDialog
{ {
@ -54,15 +55,27 @@ private:
struct CDistRatioWrapper : IPSWrapperFloat struct CDistRatioWrapper : IPSWrapperFloat
{ {
NL3D::CParticleSystem *PS; NL3D::CParticleSystem *PS;
virtual float get() const { return PS->getAutoLODStartDistPercent(); } virtual float get() const
virtual void set(const float &v) { PS->setupAutoLOD(v, PS->getAutoLODDegradationExponent()); } {
return PS->getAutoLODStartDistPercent();
}
virtual void set(const float &v)
{
PS->setupAutoLOD(v, PS->getAutoLODDegradationExponent());
}
} _DistRatioWrapper; } _DistRatioWrapper;
struct CMaxDistLODBiasWrapper : IPSWrapperFloat struct CMaxDistLODBiasWrapper : IPSWrapperFloat
{ {
NL3D::CParticleSystem *PS; NL3D::CParticleSystem *PS;
virtual float get() const { return PS->getMaxDistLODBias(); } virtual float get() const
virtual void set(const float &v) { PS->setMaxDistLODBias(v); } {
return PS->getMaxDistLODBias();
}
virtual void set(const float &v)
{
PS->setMaxDistLODBias(v);
}
} _MaxDistLODBiasWrapper; } _MaxDistLODBiasWrapper;
Ui::CAutoLODDialog _ui; Ui::CAutoLODDialog _ui;

View file

@ -26,7 +26,8 @@
#include "nel/misc/matrix.h" #include "nel/misc/matrix.h"
#include "nel/misc/vector.h" #include "nel/misc/vector.h"
namespace NLQT { namespace NLQT
{
// build an euler matrix // build an euler matrix
@ -53,7 +54,9 @@ NLMISC::CVector GetEulerAngles(const NLMISC::CMatrix &mat)
mat.getRot(v[0], v[1], v[2]); mat.getRot(v[0], v[1], v[2]);
for (uint l = 0; l < 3; ++l) for (uint l = 0; l < 3; ++l)
{ {
m[0][l] = v[l].x; m[1][l] = v[l].y; m[2][l] = v[l].z; m[0][l] = v[l].x;
m[1][l] = v[l].y;
m[2][l] = v[l].z;
} }
// there are eight triplet that may satisfy the equation // there are eight triplet that may satisfy the equation

View file

@ -31,7 +31,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
class CBasicEditWidget: public QWidget class CBasicEditWidget: public QWidget
{ {

View file

@ -20,7 +20,8 @@
#include "stdpch.h" #include "stdpch.h"
#include "bin_op_dialog.h" #include "bin_op_dialog.h"
namespace NLQT { namespace NLQT
{
CBinOpDialog::CBinOpDialog(QWidget *widget1, QWidget *widget2, QWidget *parent) CBinOpDialog::CBinOpDialog(QWidget *widget1, QWidget *widget2, QWidget *parent)
: QDialog(parent) : QDialog(parent)

View file

@ -38,7 +38,8 @@
#include "ps_wrapper.h" #include "ps_wrapper.h"
#include "attrib_widget.h" #include "attrib_widget.h"
namespace NLQT { namespace NLQT
{
class CBinOpDialog : public QDialog class CBinOpDialog : public QDialog
{ {
@ -140,15 +141,28 @@ protected:
{ {
NL3D::CPSAttribMakerBinOp<T> *S ; NL3D::CPSAttribMakerBinOp<T> *S ;
uint Index ; uint Index ;
virtual NL3D::CPSAttribMaker<T> *getScheme(void) const { return S->getArg(Index) ; } virtual NL3D::CPSAttribMaker<T> *getScheme(void) const
virtual void setScheme(NL3D::CPSAttribMaker<T> *s) { S->setArg(Index, s) ; } ; {
return S->getArg(Index) ;
}
virtual void setScheme(NL3D::CPSAttribMaker<T> *s)
{
S->setArg(Index, s) ;
} ;
} _SchemeWrapper[2] ; } _SchemeWrapper[2] ;
/// a dummy wrapper for constant value. This shouldn't be called , however /// a dummy wrapper for constant value. This shouldn't be called , however
struct CDummyWrapper : public IPSWrapper<T> struct CDummyWrapper : public IPSWrapper<T>
{ {
T get(void) const { nlassert(false) ; return T() ; } T get(void) const
void set(const T &) { nlassert(false) ; } {
nlassert(false) ;
return T() ;
}
void set(const T &)
{
nlassert(false) ;
}
} _DummyWrapper ; } _DummyWrapper ;

View file

@ -20,7 +20,8 @@
#include "stdpch.h" #include "stdpch.h"
#include "callback.h" #include "callback.h"
namespace NLQT { namespace NLQT
{
} /* namespace NLQT */ } /* namespace NLQT */

View file

@ -34,7 +34,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
#define NLQT_CALLBACK_TEMPLATE \ #define NLQT_CALLBACK_TEMPLATE \
/** \ /** \

View file

@ -27,7 +27,8 @@
// Nel includes // Nel includes
#include <nel/misc/rgba.h> #include <nel/misc/rgba.h>
namespace NLQT { namespace NLQT
{
CColorEditWidget::CColorEditWidget(QWidget *parent) CColorEditWidget::CColorEditWidget(QWidget *parent)
: QWidget(parent), _Wrapper(NULL), _emit(true) : QWidget(parent), _Wrapper(NULL), _emit(true)

View file

@ -27,7 +27,8 @@
// Project includes // Project includes
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CColorEditWidget @class CColorEditWidget

View file

@ -31,7 +31,8 @@
using namespace std; using namespace std;
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
CConfiguration::CConfiguration() CConfiguration::CConfiguration()
{ {

View file

@ -35,7 +35,8 @@
#define NLQT_CONFIG_FILE "object_viewer.cfg" #define NLQT_CONFIG_FILE "object_viewer.cfg"
namespace NLQT { namespace NLQT
{
typedef CCallback<void, NLMISC::CConfigFile::CVar &> CConfigCallback; typedef CCallback<void, NLMISC::CConfigFile::CVar &> CConfigCallback;
@ -73,7 +74,10 @@ public:
NLMISC::CRGBA getValue(const std::string &varName, const NLMISC::CRGBA &defaultValue); NLMISC::CRGBA getValue(const std::string &varName, const NLMISC::CRGBA &defaultValue);
NLMISC::CRGBA getValue(const NLMISC::CConfigFile::CVar &var, const NLMISC::CRGBA &defaultValue); NLMISC::CRGBA getValue(const NLMISC::CConfigFile::CVar &var, const NLMISC::CRGBA &defaultValue);
inline NLMISC::CConfigFile &getConfigFile() { return ConfigFile; } inline NLMISC::CConfigFile &getConfigFile()
{
return ConfigFile;
}
private: private:
static void cbConfigCallback(NLMISC::CConfigFile::CVar &var); static void cbConfigCallback(NLMISC::CConfigFile::CVar &var);

View file

@ -23,7 +23,8 @@
// NeL includes // NeL includes
#include "nel/3d/ps_mesh.h" #include "nel/3d/ps_mesh.h"
namespace NLQT { namespace NLQT
{
CConstraintMeshWidget::CConstraintMeshWidget(QWidget *parent ) CConstraintMeshWidget::CConstraintMeshWidget(QWidget *parent )
: QWidget(parent) : QWidget(parent)

View file

@ -31,11 +31,13 @@
// Project includes // Project includes
#include "particle_node.h" #include "particle_node.h"
namespace NL3D { namespace NL3D
{
class CPSConstraintMesh; class CPSConstraintMesh;
} }
namespace NLQT { namespace NLQT
{
/** /**
@class CConstraintMeshWidget @class CConstraintMeshWidget

View file

@ -23,7 +23,8 @@
// Project includes // Project includes
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
CurveEditDialog::CurveEditDialog(NL3D::CPSFloatCurveFunctor *curve, CWorkspaceNode *ownerNode, QWidget *parent) CurveEditDialog::CurveEditDialog(NL3D::CPSFloatCurveFunctor *curve, CWorkspaceNode *ownerNode, QWidget *parent)
: QDialog(parent) , _Curve(curve), _scale(1.0), _pos(0.0), _Node(ownerNode) : QDialog(parent) , _Curve(curve), _scale(1.0), _pos(0.0), _Node(ownerNode)

View file

@ -36,7 +36,8 @@
#include "hoverpoints.h" #include "hoverpoints.h"
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CurveEditDialog @class CurveEditDialog
@brief Dialogue editing graphics curve. @brief Dialogue editing graphics curve.

View file

@ -26,7 +26,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CDayNightDialog::CDayNightDialog(QWidget *parent) CDayNightDialog::CDayNightDialog(QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
/** /**
@class CDayNightDialog @class CDayNightDialog

View file

@ -26,7 +26,8 @@
// NeL includes // NeL includes
#include <nel/misc/vector.h> #include <nel/misc/vector.h>
namespace NLQT { namespace NLQT
{
CDirectionWidget::CDirectionWidget(QWidget *parent) CDirectionWidget::CDirectionWidget(QWidget *parent)
: QWidget(parent), _globalName("") : QWidget(parent), _globalName("")

View file

@ -29,7 +29,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
/** /**
@class CDirectionWidget @class CDirectionWidget

View file

@ -28,7 +28,8 @@
using namespace NL3D; using namespace NL3D;
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
const int max_range = 9999; const int max_range = 9999;

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CEditRangeUIntWidget @class CEditRangeUIntWidget

View file

@ -29,7 +29,8 @@
#include "edit_range_widget.h" #include "edit_range_widget.h"
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CEmitterPage::CEmitterPage(QWidget *parent) CEmitterPage::CEmitterPage(QWidget *parent)

View file

@ -33,7 +33,8 @@
#include "particle_node.h" #include "particle_node.h"
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CEmitterPage @class CEmitterPage
@ -80,9 +81,15 @@ private:
{ {
CWorkspaceNode *Node; CWorkspaceNode *Node;
NL3D::CPSEmitter *E; NL3D::CPSEmitter *E;
float get(void) const { return E->getPeriod(); } float get(void) const
{
return E->getPeriod();
}
void set(const float &v); void set(const float &v);
scheme_type *getScheme(void) const { return E->getPeriodScheme(); } scheme_type *getScheme(void) const
{
return E->getPeriodScheme();
}
void setScheme(scheme_type *s); void setScheme(scheme_type *s);
} _PeriodWrapper; } _PeriodWrapper;
@ -91,9 +98,15 @@ private:
{ {
CWorkspaceNode *Node; CWorkspaceNode *Node;
NL3D::CPSEmitter *E; NL3D::CPSEmitter *E;
uint32 get(void) const { return E->getGenNb(); } uint32 get(void) const
{
return E->getGenNb();
}
void set(const uint32 &v); void set(const uint32 &v);
scheme_type *getScheme(void) const { return E->getGenNbScheme(); } scheme_type *getScheme(void) const
{
return E->getGenNbScheme();
}
void setScheme(scheme_type *s); void setScheme(scheme_type *s);
} _GenNbWrapper; } _GenNbWrapper;
@ -101,10 +114,22 @@ private:
struct CModulateStrenghtWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CModulateStrenghtWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSModulatedEmitter *E; NL3D::CPSModulatedEmitter *E;
float get(void) const { return E->getEmitteeSpeed(); } float get(void) const
void set(const float &v) { E->setEmitteeSpeed(v); } {
scheme_type *getScheme(void) const { return E->getEmitteeSpeedScheme(); } return E->getEmitteeSpeed();
void setScheme(scheme_type *s) { E->setEmitteeSpeedScheme(s); } }
void set(const float &v)
{
E->setEmitteeSpeed(v);
}
scheme_type *getScheme(void) const
{
return E->getEmitteeSpeedScheme();
}
void setScheme(scheme_type *s)
{
E->setEmitteeSpeedScheme(s);
}
} _ModulatedStrenghtWrapper; } _ModulatedStrenghtWrapper;
// the emitter being edited // the emitter being edited
@ -117,7 +142,10 @@ private:
void updatePeriodWidget(); void updatePeriodWidget();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
CWorkspaceNode *_Node; CWorkspaceNode *_Node;

View file

@ -40,7 +40,8 @@
using namespace NLMISC; using namespace NLMISC;
using namespace NL3D; using namespace NL3D;
namespace NLQT { namespace NLQT
{
CSlotInfo& CSlotInfo::operator=(const CSlotInfo & slotInfo) CSlotInfo& CSlotInfo::operator=(const CSlotInfo & slotInfo)
{ {

View file

@ -36,12 +36,14 @@
#include <nel/3d/u_skeleton.h> #include <nel/3d/u_skeleton.h>
#include <nel/3d/channel_mixer.h> #include <nel/3d/channel_mixer.h>
namespace NL3D { namespace NL3D
{
class UPlayList; class UPlayList;
class UAnimationSet; class UAnimationSet;
} }
namespace NLQT { namespace NLQT
{
class CSlotInfo class CSlotInfo
{ {
@ -145,53 +147,98 @@ public:
float getAnimLength(std::string name); float getAnimLength(std::string name);
/// Get slot infomation /// Get slot infomation
void setSlotInfo(uint num, CSlotInfo& slotInfo) { _SlotInfo[num] = slotInfo; } void setSlotInfo(uint num, CSlotInfo& slotInfo)
{
_SlotInfo[num] = slotInfo;
}
/// Set use mode playlist or mixer /// Set use mode playlist or mixer
void setMode(int mode) { _AnimationStatus.Mode = mode; } void setMode(int mode)
{
_AnimationStatus.Mode = mode;
}
/// Set in place mode animation /// Set in place mode animation
void setInPlace(bool enabled) { _inPlace = enabled; } void setInPlace(bool enabled)
{
_inPlace = enabled;
}
/// Get in place mode /// Get in place mode
bool getInPlace() { return _inPlace; } bool getInPlace()
{
return _inPlace;
}
/// Set inc position /// Set inc position
void setIncPos(bool enabled) { _incPos = enabled; } void setIncPos(bool enabled)
{
_incPos = enabled;
}
/// Get inc position /// Get inc position
bool getIncPos() { return _incPos; } bool getIncPos()
{
return _incPos;
}
/// Get information about the current status of playing a playlist /// Get information about the current status of playing a playlist
/// @return struct containing current information playback /// @return struct containing current information playback
SAnimationStatus getStatus() { return _AnimationStatus; } SAnimationStatus getStatus()
{
return _AnimationStatus;
}
/// Get name entity /// Get name entity
/// @return name entity /// @return name entity
std::string getName() { return _Name; } std::string getName()
{
return _Name;
}
/// Get file name shape /// Get file name shape
/// @return file name shape /// @return file name shape
std::string getFileNameShape() { return _FileNameShape; } std::string getFileNameShape()
{
return _FileNameShape;
}
/// Get file name skeleton /// Get file name skeleton
/// @return file name skeleton /// @return file name skeleton
std::string getFileNameSkeleton() { return _FileNameSkeleton; } std::string getFileNameSkeleton()
{
return _FileNameSkeleton;
}
/// Get slot information /// Get slot information
CSlotInfo getSlotInfo(uint num) { return _SlotInfo[num]; } CSlotInfo getSlotInfo(uint num)
{
return _SlotInfo[num];
}
/// Get list loaded animations files /// Get list loaded animations files
std::vector<std::string>& getAnimationList() { return _AnimationList; } std::vector<std::string>& getAnimationList()
{
return _AnimationList;
}
/// Get playlist animations /// Get playlist animations
std::vector<std::string>& getPlayListAnimation() { return _PlayListAnimation; } std::vector<std::string>& getPlayListAnimation()
{
return _PlayListAnimation;
}
/// Get list loaded skeleton weight template files /// Get list loaded skeleton weight template files
std::vector<std::string>& getSWTList() { return _SWTList; } std::vector<std::string>& getSWTList()
{
return _SWTList;
}
/// Get game interface for manipulating Skeleton. /// Get game interface for manipulating Skeleton.
NL3D::USkeleton getSkeleton() const { return _Skeleton; } NL3D::USkeleton getSkeleton() const
{
return _Skeleton;
}
private: private:
/// Constructor /// Constructor

View file

@ -26,7 +26,8 @@
// Project includes // Project includes
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
CFollowPathDialog::CFollowPathDialog(NL3D::CPSPlaneBasisFollowSpeed *pbfs, CWorkspaceNode *ownerNode, QWidget *parent) CFollowPathDialog::CFollowPathDialog(NL3D::CPSPlaneBasisFollowSpeed *pbfs, CWorkspaceNode *ownerNode, QWidget *parent)
: QDialog(parent), _FollowPath(pbfs), _Node(ownerNode) : QDialog(parent), _FollowPath(pbfs), _Node(ownerNode)

View file

@ -32,7 +32,8 @@ namespace NL3D
class CPSPlaneBasisFollowSpeed; class CPSPlaneBasisFollowSpeed;
} }
namespace NLQT { namespace NLQT
{
class CWorkspaceNode; class CWorkspaceNode;

View file

@ -24,7 +24,8 @@
#include "modules.h" #include "modules.h"
#include <nel/3d/u_scene.h> #include <nel/3d/u_scene.h>
namespace NLQT { namespace NLQT
{
CGlobalWindDialog::CGlobalWindDialog(QWidget *parent) CGlobalWindDialog::CGlobalWindDialog(QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
class CGlobalWindDialog: public QDockWidget class CGlobalWindDialog: public QDockWidget
{ {

View file

@ -27,7 +27,8 @@
// STL includes // STL includes
namespace NLQT { namespace NLQT
{
const int directionSize = 35; const int directionSize = 35;

View file

@ -30,7 +30,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
struct Mode struct Mode
{ {

View file

@ -43,7 +43,8 @@
using namespace std; using namespace std;
using namespace NL3D; using namespace NL3D;
namespace NLQT { namespace NLQT
{
CGraphicsViewport::CGraphicsViewport(QWidget *parent) CGraphicsViewport::CGraphicsViewport(QWidget *parent)
: QNLWidget(parent) : QNLWidget(parent)

View file

@ -44,7 +44,8 @@ typedef QGLWidget QNLWidget;
class QAction; class QAction;
namespace NLQT { namespace NLQT
{
/** /**
@class CGraphicsViewport @class CGraphicsViewport
@ -58,7 +59,10 @@ public:
CGraphicsViewport(QWidget *parent); CGraphicsViewport(QWidget *parent);
virtual ~CGraphicsViewport(); virtual ~CGraphicsViewport();
virtual QPaintEngine* paintEngine() const { return NULL; } virtual QPaintEngine* paintEngine() const
{
return NULL;
}
void init(); void init();
void release(); void release();

View file

@ -72,7 +72,8 @@ HoverPoints::HoverPoints(QWidget *widget, PointShape shape)
void HoverPoints::setEnabled(bool enabled) void HoverPoints::setEnabled(bool enabled)
{ {
if (m_enabled != enabled) { if (m_enabled != enabled)
{
m_enabled = enabled; m_enabled = enabled;
m_widget->update(); m_widget->update();
} }
@ -81,8 +82,10 @@ void HoverPoints::setEnabled(bool enabled)
bool HoverPoints::eventFilter(QObject *object, QEvent *event) bool HoverPoints::eventFilter(QObject *object, QEvent *event)
{ {
if (object == m_widget && m_enabled) { if (object == m_widget && m_enabled)
switch (event->type()) { {
switch (event->type())
{
case QEvent::MouseButtonPress: case QEvent::MouseButtonPress:
{ {
@ -92,34 +95,43 @@ bool HoverPoints::eventFilter(QObject *object, QEvent *event)
QPointF clickPos = me->pos(); QPointF clickPos = me->pos();
int index = -1; int index = -1;
for (int i=0; i<m_points.size(); ++i) { for (int i=0; i<m_points.size(); ++i)
{
QPainterPath path; QPainterPath path;
if (m_shape == CircleShape) if (m_shape == CircleShape)
path.addEllipse(pointBoundingRect(i)); path.addEllipse(pointBoundingRect(i));
else else
path.addRect(pointBoundingRect(i)); path.addRect(pointBoundingRect(i));
if (path.contains(clickPos)) { if (path.contains(clickPos))
{
index = i; index = i;
break; break;
} }
} }
if (me->button() == Qt::LeftButton) { if (me->button() == Qt::LeftButton)
if (index == -1) { {
if (index == -1)
{
if (!m_editable) if (!m_editable)
return false; return false;
int pos = 0; int pos = 0;
// Insert sort for x or y // Insert sort for x or y
if (m_sortType == XSort) { if (m_sortType == XSort)
{
for (int i=0; i<m_points.size(); ++i) for (int i=0; i<m_points.size(); ++i)
if (m_points.at(i).x() > clickPos.x()) { if (m_points.at(i).x() > clickPos.x())
{
pos = i; pos = i;
break; break;
} }
} else if (m_sortType == YSort) { }
else if (m_sortType == YSort)
{
for (int i=0; i<m_points.size(); ++i) for (int i=0; i<m_points.size(); ++i)
if (m_points.at(i).y() > clickPos.y()) { if (m_points.at(i).y() > clickPos.y())
{
pos = i; pos = i;
break; break;
} }
@ -130,16 +142,22 @@ bool HoverPoints::eventFilter(QObject *object, QEvent *event)
m_currentIndex = pos; m_currentIndex = pos;
firePointChange(); firePointChange();
} else { }
else
{
m_currentIndex = index; m_currentIndex = index;
} }
return true; return true;
} else if (me->button() == Qt::RightButton) { }
if (index >= 0 && m_editable) { else if (me->button() == Qt::RightButton)
{
if (index >= 0 && m_editable)
{
if ((m_points.size() - 1) < m_minCountPoints) if ((m_points.size() - 1) < m_minCountPoints)
return true; return true;
if (m_locks[index] == 0) { if (m_locks[index] == 0)
{
m_locks.remove(index); m_locks.remove(index);
m_points.remove(index); m_points.remove(index);
} }
@ -169,9 +187,11 @@ bool HoverPoints::eventFilter(QObject *object, QEvent *event)
const QTouchEvent *const touchEvent = static_cast<const QTouchEvent*>(event); const QTouchEvent *const touchEvent = static_cast<const QTouchEvent*>(event);
const QList<QTouchEvent::TouchPoint> points = touchEvent->touchPoints(); const QList<QTouchEvent::TouchPoint> points = touchEvent->touchPoints();
const qreal pointSize = qMax(m_pointSize.width(), m_pointSize.height()); const qreal pointSize = qMax(m_pointSize.width(), m_pointSize.height());
Q_FOREACH (const QTouchEvent::TouchPoint &touchPoint, points) { Q_FOREACH (const QTouchEvent::TouchPoint &touchPoint, points)
{
const int id = touchPoint.id(); const int id = touchPoint.id();
switch (touchPoint.state()) { switch (touchPoint.state())
{
case Qt::TouchPointPressed: case Qt::TouchPointPressed:
{ {
// find the point, move it // find the point, move it
@ -180,22 +200,28 @@ bool HoverPoints::eventFilter(QObject *object, QEvent *event)
qreal distance = -1; qreal distance = -1;
const int pointsCount = m_points.size(); const int pointsCount = m_points.size();
const int activePointCount = activePoints.size(); const int activePointCount = activePoints.size();
if (pointsCount == 2 && activePointCount == 1) { // only two points if (pointsCount == 2 && activePointCount == 1) // only two points
{
activePoint = activePoints.contains(0) ? 1 : 0; activePoint = activePoints.contains(0) ? 1 : 0;
} else { }
for (int i=0; i<pointsCount; ++i) { else
{
for (int i=0; i<pointsCount; ++i)
{
if (activePoints.contains(i)) if (activePoints.contains(i))
continue; continue;
qreal d = QLineF(touchPoint.pos(), m_points.at(i)).length(); qreal d = QLineF(touchPoint.pos(), m_points.at(i)).length();
if ((distance < 0 && d < 12 * pointSize) || d < distance) { if ((distance < 0 && d < 12 * pointSize) || d < distance)
{
distance = d; distance = d;
activePoint = i; activePoint = i;
} }
} }
} }
if (activePoint != -1) { if (activePoint != -1)
{
m_fingerPointMapping.insert(touchPoint.id(), activePoint); m_fingerPointMapping.insert(touchPoint.id(), activePoint);
movePoint(activePoint, touchPoint.pos()); movePoint(activePoint, touchPoint.pos());
} }
@ -221,16 +247,20 @@ bool HoverPoints::eventFilter(QObject *object, QEvent *event)
break; break;
} }
} }
if (m_fingerPointMapping.isEmpty()) { if (m_fingerPointMapping.isEmpty())
{
event->ignore(); event->ignore();
return false; return false;
} else { }
else
{
return true; return true;
} }
} }
break; break;
case QEvent::TouchEnd: case QEvent::TouchEnd:
if (m_fingerPointMapping.isEmpty()) { if (m_fingerPointMapping.isEmpty())
{
event->ignore(); event->ignore();
return false; return false;
} }
@ -244,7 +274,8 @@ bool HoverPoints::eventFilter(QObject *object, QEvent *event)
break; break;
qreal stretch_x = e->size().width() / qreal(e->oldSize().width()); qreal stretch_x = e->size().width() / qreal(e->oldSize().width());
qreal stretch_y = e->size().height() / qreal(e->oldSize().height()); qreal stretch_y = e->size().height() / qreal(e->oldSize().height());
for (int i=0; i<m_points.size(); ++i) { for (int i=0; i<m_points.size(); ++i)
{
QPointF p = m_points[i]; QPointF p = m_points[i];
movePoint(i, QPointF(p.x() * stretch_x, p.y() * stretch_y), false); movePoint(i, QPointF(p.x() * stretch_x, p.y() * stretch_y), false);
} }
@ -283,13 +314,16 @@ void HoverPoints::paintPoints()
p.setBrush(QBrush()); p.setBrush(QBrush());
if (m_connectionPen.style() != Qt::NoPen && m_connectionType != NoConnection) { if (m_connectionPen.style() != Qt::NoPen && m_connectionType != NoConnection)
{
p.setPen(m_connectionPen); p.setPen(m_connectionPen);
if (m_connectionType == CurveConnection) { if (m_connectionType == CurveConnection)
{
QPainterPath path; QPainterPath path;
path.moveTo(m_points.at(0)); path.moveTo(m_points.at(0));
for (int i=1; i<m_points.size(); ++i) { for (int i=1; i<m_points.size(); ++i)
{
QPointF p1 = m_points.at(i-1); QPointF p1 = m_points.at(i-1);
QPointF p2 = m_points.at(i); QPointF p2 = m_points.at(i);
qreal distance = p2.x() - p1.x(); qreal distance = p2.x() - p1.x();
@ -299,7 +333,9 @@ void HoverPoints::paintPoints()
p2.x(), p2.y()); p2.x(), p2.y());
} }
p.drawPath(path); p.drawPath(path);
} else { }
else
{
p.drawPolyline(m_points); p.drawPolyline(m_points);
} }
} }
@ -307,7 +343,8 @@ void HoverPoints::paintPoints()
p.setPen(m_pointPen); p.setPen(m_pointPen);
p.setBrush(m_pointBrush); p.setBrush(m_pointBrush);
for (int i=0; i<m_points.size(); ++i) { for (int i=0; i<m_points.size(); ++i)
{
QRectF bounds = pointBoundingRect(i); QRectF bounds = pointBoundingRect(i);
if (m_shape == CircleShape) if (m_shape == CircleShape)
p.drawEllipse(bounds); p.drawEllipse(bounds);
@ -344,7 +381,8 @@ void HoverPoints::setPoints(const QPolygonF &points)
m_points << bound_point(points.at(i), boundingRect(), 0); m_points << bound_point(points.at(i), boundingRect(), 0);
m_locks.clear(); m_locks.clear();
if (m_points.size() > 0) { if (m_points.size() > 0)
{
m_locks.resize(m_points.size()); m_locks.resize(m_points.size());
m_locks.fill(0); m_locks.fill(0);
@ -382,10 +420,12 @@ inline static bool y_less_than(const QPointF &p1, const QPointF &p2)
void HoverPoints::firePointChange() void HoverPoints::firePointChange()
{ {
if (m_sortType != NoSort) { if (m_sortType != NoSort)
{
QPointF oldCurrent; QPointF oldCurrent;
if (m_currentIndex != -1) { if (m_currentIndex != -1)
{
oldCurrent = m_points[m_currentIndex]; oldCurrent = m_points[m_currentIndex];
} }
@ -395,9 +435,12 @@ void HoverPoints::firePointChange()
qSort(m_points.begin(), m_points.end(), y_less_than); qSort(m_points.begin(), m_points.end(), y_less_than);
// Compensate for changed order... // Compensate for changed order...
if (m_currentIndex != -1) { if (m_currentIndex != -1)
for (int i=0; i<m_points.size(); ++i) { {
if (m_points[i] == oldCurrent) { for (int i=0; i<m_points.size(); ++i)
{
if (m_points[i] == oldCurrent)
{
m_currentIndex = i; m_currentIndex = i;
break; break;
} }

View file

@ -50,25 +50,29 @@ class HoverPoints : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
enum PointShape { enum PointShape
{
CircleShape, CircleShape,
RectangleShape RectangleShape
}; };
enum LockType { enum LockType
{
LockToLeft = 0x01, LockToLeft = 0x01,
LockToRight = 0x02, LockToRight = 0x02,
LockToTop = 0x04, LockToTop = 0x04,
LockToBottom = 0x08 LockToBottom = 0x08
}; };
enum SortType { enum SortType
{
NoSort, NoSort,
XSort, XSort,
YSort YSort
}; };
enum ConnectionType { enum ConnectionType
{
NoConnection, NoConnection,
LineConnection, LineConnection,
CurveConnection CurveConnection
@ -81,32 +85,77 @@ public:
void paintPoints(); void paintPoints();
inline QRectF boundingRect() const; inline QRectF boundingRect() const;
void setBoundingRect(const QRectF &boundingRect) { m_bounds = boundingRect; } void setBoundingRect(const QRectF &boundingRect)
{
m_bounds = boundingRect;
}
QPolygonF points() const { return m_points; } QPolygonF points() const
{
return m_points;
}
void setPoints(const QPolygonF &points); void setPoints(const QPolygonF &points);
QSizeF pointSize() const { return m_pointSize; } QSizeF pointSize() const
void setPointSize(const QSizeF &size) { m_pointSize = size; } {
return m_pointSize;
}
void setPointSize(const QSizeF &size)
{
m_pointSize = size;
}
SortType sortType() const { return m_sortType; } SortType sortType() const
void setSortType(SortType sortType) { m_sortType = sortType; } {
return m_sortType;
}
void setSortType(SortType sortType)
{
m_sortType = sortType;
}
ConnectionType connectionType() const { return m_connectionType; } ConnectionType connectionType() const
void setConnectionType(ConnectionType connectionType) { m_connectionType = connectionType; } {
return m_connectionType;
}
void setConnectionType(ConnectionType connectionType)
{
m_connectionType = connectionType;
}
void setConnectionPen(const QPen &pen) { m_connectionPen = pen; } void setConnectionPen(const QPen &pen)
void setShapePen(const QPen &pen) { m_pointPen = pen; } {
void setShapeBrush(const QBrush &brush) { m_pointBrush = brush; } m_connectionPen = pen;
}
void setShapePen(const QPen &pen)
{
m_pointPen = pen;
}
void setShapeBrush(const QBrush &brush)
{
m_pointBrush = brush;
}
void setPointLock(int pos, LockType lock) { m_locks[pos] = lock; } void setPointLock(int pos, LockType lock)
{
m_locks[pos] = lock;
}
void setEditable(bool editable) { m_editable = editable; } void setEditable(bool editable)
bool editable() const { return m_editable; } {
m_editable = editable;
}
bool editable() const
{
return m_editable;
}
public Q_SLOTS: public Q_SLOTS:
void setEnabled(bool enabled); void setEnabled(bool enabled);
void setDisabled(bool disabled) { setEnabled(!disabled); } void setDisabled(bool disabled)
{
setEnabled(!disabled);
}
Q_SIGNALS: Q_SIGNALS:
void pointsChanged(const QPolygonF &points); void pointsChanged(const QPolygonF &points);

View file

@ -29,7 +29,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CLocatedBindablePage::CLocatedBindablePage(QWidget *parent) CLocatedBindablePage::CLocatedBindablePage(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -37,7 +37,8 @@
#include "ps_wrapper.h" #include "ps_wrapper.h"
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CLocatedBindablePage @class CLocatedBindablePage
@ -80,166 +81,313 @@ private:
struct CSizeWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CSizeWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSSizedParticle *S; NL3D::CPSSizedParticle *S;
float get(void) const { return S->getSize(); } float get(void) const
void set(const float &v) { S->setSize(v); } {
scheme_type *getScheme(void) const { return S->getSizeScheme(); } return S->getSize();
void setScheme(scheme_type *s) { S->setSizeScheme(s); } }
void set(const float &v)
{
S->setSize(v);
}
scheme_type *getScheme(void) const
{
return S->getSizeScheme();
}
void setScheme(scheme_type *s)
{
S->setSizeScheme(s);
}
} _SizeWrapper; } _SizeWrapper;
/// Color /// Color
struct CColorWrapper : public IPSWrapperRGBA, IPSSchemeWrapperRGBA struct CColorWrapper : public IPSWrapperRGBA, IPSSchemeWrapperRGBA
{ {
NL3D::CPSColoredParticle *S; NL3D::CPSColoredParticle *S;
NLMISC::CRGBA get(void) const { return S->getColor(); } NLMISC::CRGBA get(void) const
void set(const NLMISC::CRGBA &v) { S->setColor(v); } {
scheme_type *getScheme(void) const { return S->getColorScheme(); } return S->getColor();
void setScheme(scheme_type *s) { S->setColorScheme(s); } }
void set(const NLMISC::CRGBA &v)
{
S->setColor(v);
}
scheme_type *getScheme(void) const
{
return S->getColorScheme();
}
void setScheme(scheme_type *s)
{
S->setColorScheme(s);
}
} _ColorWrapper; } _ColorWrapper;
/// Angle 2D /// Angle 2D
struct CAngle2DWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CAngle2DWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSRotated2DParticle *S; NL3D::CPSRotated2DParticle *S;
float get(void) const { return S->getAngle2D(); } float get(void) const
void set(const float &v) { S->setAngle2D(v); } {
scheme_type *getScheme(void) const { return S->getAngle2DScheme(); } return S->getAngle2D();
void setScheme(scheme_type *s) { S->setAngle2DScheme(s); } }
void set(const float &v)
{
S->setAngle2D(v);
}
scheme_type *getScheme(void) const
{
return S->getAngle2DScheme();
}
void setScheme(scheme_type *s)
{
S->setAngle2DScheme(s);
}
} _Angle2DWrapper; } _Angle2DWrapper;
/// Plane basis /// Plane basis
struct CPlaneBasisWrapper : public IPSWrapper<NL3D::CPlaneBasis>, IPSSchemeWrapper<NL3D::CPlaneBasis> struct CPlaneBasisWrapper : public IPSWrapper<NL3D::CPlaneBasis>, IPSSchemeWrapper<NL3D::CPlaneBasis>
{ {
NL3D::CPSRotated3DPlaneParticle *S; NL3D::CPSRotated3DPlaneParticle *S;
NL3D::CPlaneBasis get(void) const { return S->getPlaneBasis(); } NL3D::CPlaneBasis get(void) const
void set(const NL3D::CPlaneBasis &p) { S->setPlaneBasis(p); } {
scheme_type *getScheme(void) const { return S->getPlaneBasisScheme(); } return S->getPlaneBasis();
void setScheme(scheme_type *s) { S->setPlaneBasisScheme(s); } }
void set(const NL3D::CPlaneBasis &p)
{
S->setPlaneBasis(p);
}
scheme_type *getScheme(void) const
{
return S->getPlaneBasisScheme();
}
void setScheme(scheme_type *s)
{
S->setPlaneBasisScheme(s);
}
} _PlaneBasisWrapper; } _PlaneBasisWrapper;
/// Motion blur coeff /// Motion blur coeff
struct CMotionBlurCoeffWrapper : public IPSWrapperFloat struct CMotionBlurCoeffWrapper : public IPSWrapperFloat
{ {
NL3D::CPSFaceLookAt *P; NL3D::CPSFaceLookAt *P;
float get(void) const { return P->getMotionBlurCoeff(); } float get(void) const
void set(const float &v) { P->setMotionBlurCoeff(v); } {
return P->getMotionBlurCoeff();
}
void set(const float &v)
{
P->setMotionBlurCoeff(v);
}
} _MotionBlurCoeffWrapper; } _MotionBlurCoeffWrapper;
struct CMotionBlurThresholdWrapper : public IPSWrapperFloat struct CMotionBlurThresholdWrapper : public IPSWrapperFloat
{ {
NL3D::CPSFaceLookAt *P; NL3D::CPSFaceLookAt *P;
float get(void) const { return P->getMotionBlurThreshold(); } float get(void) const
void set(const float &v) { P->setMotionBlurThreshold(v); } {
return P->getMotionBlurThreshold();
}
void set(const float &v)
{
P->setMotionBlurThreshold(v);
}
} _MotionBlurThresholdWrapper; } _MotionBlurThresholdWrapper;
/// Fanlight /// Fanlight
struct CFanLightWrapper : public IPSWrapperUInt struct CFanLightWrapper : public IPSWrapperUInt
{ {
NL3D::CPSFanLight *P; NL3D::CPSFanLight *P;
uint32 get(void) const { return P->getNbFans(); } uint32 get(void) const
void set(const uint32 &v) { P->setNbFans(v); } {
return P->getNbFans();
}
void set(const uint32 &v)
{
P->setNbFans(v);
}
} _FanLightWrapper; } _FanLightWrapper;
struct CFanLightSmoothnessWrapper : public IPSWrapperUInt struct CFanLightSmoothnessWrapper : public IPSWrapperUInt
{ {
NL3D::CPSFanLight *P; NL3D::CPSFanLight *P;
uint32 get(void) const { return P->getPhaseSmoothness(); } uint32 get(void) const
void set(const uint32 &v) { P->setPhaseSmoothness(v); } {
return P->getPhaseSmoothness();
}
void set(const uint32 &v)
{
P->setPhaseSmoothness(v);
}
} _FanLightSmoothnessWrapper; } _FanLightSmoothnessWrapper;
struct CFanLightPhase : public IPSWrapperFloat struct CFanLightPhase : public IPSWrapperFloat
{ {
NL3D::CPSFanLight *P; NL3D::CPSFanLight *P;
float get(void) const { return P->getPhaseSpeed(); } float get(void) const
void set(const float &v) { P->setPhaseSpeed(v); } {
return P->getPhaseSpeed();
}
void set(const float &v)
{
P->setPhaseSpeed(v);
}
} _FanLightPhaseWrapper; } _FanLightPhaseWrapper;
struct CFanLightIntensityWrapper : public IPSWrapperFloat struct CFanLightIntensityWrapper : public IPSWrapperFloat
{ {
NL3D::CPSFanLight *P; NL3D::CPSFanLight *P;
float get(void) const { return P->getMoveIntensity(); } float get(void) const
void set(const float &v) { P->setMoveIntensity(v); } {
return P->getMoveIntensity();
}
void set(const float &v)
{
P->setMoveIntensity(v);
}
} _FanLightIntensityWrapper; } _FanLightIntensityWrapper;
/// Ribbon / tail dot /// Ribbon / tail dot
struct CTailParticleWrapper : public IPSWrapperUInt struct CTailParticleWrapper : public IPSWrapperUInt
{ {
NL3D::CPSTailParticle *P; NL3D::CPSTailParticle *P;
uint32 get(void) const { return P->getTailNbSeg(); } uint32 get(void) const
void set(const uint32 &v) { P->setTailNbSeg(v); } {
return P->getTailNbSeg();
}
void set(const uint32 &v)
{
P->setTailNbSeg(v);
}
} _TailParticleWrapper; } _TailParticleWrapper;
/// Duration of segment for a ribbon /// Duration of segment for a ribbon
struct CSegDurationWrapper : public IPSWrapperFloat struct CSegDurationWrapper : public IPSWrapperFloat
{ {
NL3D::CPSRibbonBase *R; NL3D::CPSRibbonBase *R;
float get(void) const { return R->getSegDuration(); } float get(void) const
void set(const float &v) { R->setSegDuration(v); } {
return R->getSegDuration();
}
void set(const float &v)
{
R->setSegDuration(v);
}
} _SegDurationWrapper; } _SegDurationWrapper;
/// Shockwave /// Shockwave
struct CRadiusCutWrapper : public IPSWrapperFloat struct CRadiusCutWrapper : public IPSWrapperFloat
{ {
NL3D::CPSShockWave *S; NL3D::CPSShockWave *S;
float get(void) const { return S->getRadiusCut(); } float get(void) const
void set(const float &v) { S->setRadiusCut(v); } {
return S->getRadiusCut();
}
void set(const float &v)
{
S->setRadiusCut(v);
}
} _RadiusCutWrapper; } _RadiusCutWrapper;
struct CShockWaveNbSegWrapper : public IPSWrapperUInt struct CShockWaveNbSegWrapper : public IPSWrapperUInt
{ {
NL3D::CPSShockWave *S; NL3D::CPSShockWave *S;
uint32 get(void) const { return S->getNbSegs(); } uint32 get(void) const
void set(const uint32 &v) { S->setNbSegs(v); } {
return S->getNbSegs();
}
void set(const uint32 &v)
{
S->setNbSegs(v);
}
} _ShockWaveNbSegWrapper; } _ShockWaveNbSegWrapper;
struct CShockWaveUFactorWrapper : public IPSWrapperFloat struct CShockWaveUFactorWrapper : public IPSWrapperFloat
{ {
NL3D::CPSShockWave *S; NL3D::CPSShockWave *S;
float get(void) const { return S->getUFactor(); } float get(void) const
void set(const float &v) { S->setUFactor(v); } {
return S->getUFactor();
}
void set(const float &v)
{
S->setUFactor(v);
}
} _ShockWaveUFactorWrapper; } _ShockWaveUFactorWrapper;
/// Unanimated texture /// Unanimated texture
struct CTextureNoAnimWrapper : public IPSWrapperTexture struct CTextureNoAnimWrapper : public IPSWrapperTexture
{ {
NL3D::CPSTexturedParticleNoAnim *TP; NL3D::CPSTexturedParticleNoAnim *TP;
virtual NL3D::ITexture *get(void) { return TP->getTexture(); } virtual NL3D::ITexture *get(void)
virtual void set(NL3D::ITexture *t) { TP->setTexture(t); } {
return TP->getTexture();
}
virtual void set(NL3D::ITexture *t)
{
TP->setTexture(t);
}
} _TextureNoAnimWrapper; } _TextureNoAnimWrapper;
/// u / v factors for ribbon /// u / v factors for ribbon
struct CRibbonUFactorWrapper : public IPSWrapperFloat struct CRibbonUFactorWrapper : public IPSWrapperFloat
{ {
NL3D::CPSRibbon *R; NL3D::CPSRibbon *R;
float get(void) const { return R->getUFactor(); } float get(void) const
void set(const float &u) { R->setTexFactor(u, R->getVFactor()); } {
return R->getUFactor();
}
void set(const float &u)
{
R->setTexFactor(u, R->getVFactor());
}
} _RibbonUFactorWrapper; } _RibbonUFactorWrapper;
struct CRibbonVFactorWrapper : public IPSWrapperFloat struct CRibbonVFactorWrapper : public IPSWrapperFloat
{ {
NL3D::CPSRibbon *R; NL3D::CPSRibbon *R;
float get(void) const { return R->getVFactor(); } float get(void) const
void set(const float &v) { R->setTexFactor(R->getUFactor(), v); } {
return R->getVFactor();
}
void set(const float &v)
{
R->setTexFactor(R->getUFactor(), v);
}
} _RibbonVFactorWrapper; } _RibbonVFactorWrapper;
struct CRibbonLengthWrapper : IPSWrapperFloat struct CRibbonLengthWrapper : IPSWrapperFloat
{ {
NL3D::CPSRibbonBase *R; NL3D::CPSRibbonBase *R;
float get() const { return R->getRibbonLength(); } float get() const
void set(const float &v) { R->setRibbonLength(v); } {
return R->getRibbonLength();
}
void set(const float &v)
{
R->setRibbonLength(v);
}
} _RibbonLengthWrapper; } _RibbonLengthWrapper;
struct CLODDegradationWrapper : IPSWrapperFloat struct CLODDegradationWrapper : IPSWrapperFloat
{ {
NL3D::CPSRibbonBase *R; NL3D::CPSRibbonBase *R;
float get() const { return R->getLODDegradation(); } float get() const
void set(const float &v) { R->setLODDegradation(v); } {
return R->getLODDegradation();
}
void set(const float &v)
{
R->setLODDegradation(v);
}
} _LODDegradationWrapper; } _LODDegradationWrapper;
void updateValidWidgetForAlignOnMotion(bool align); void updateValidWidgetForAlignOnMotion(bool align);
void updateSizeControl(); void updateSizeControl();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
void hideAllWidget(); void hideAllWidget();

View file

@ -30,7 +30,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CLocatedPage::CLocatedPage(QWidget *parent) CLocatedPage::CLocatedPage(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -36,7 +36,8 @@ namespace NL3D
class CPSLocated; class CPSLocated;
} }
namespace NLQT { namespace NLQT
{
/** /**
@class CLocatedPage @class CLocatedPage
@ -71,19 +72,37 @@ private:
struct CMassWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CMassWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSLocated *Located; NL3D::CPSLocated *Located;
float get(void) const { return Located->getInitialMass(); } float get(void) const
void set(const float &v) { Located->setInitialMass(v); } {
virtual scheme_type *getScheme(void) const { return Located->getMassScheme(); } return Located->getInitialMass();
virtual void setScheme(scheme_type *s) { Located->setMassScheme(s); } }
void set(const float &v)
{
Located->setInitialMass(v);
}
virtual scheme_type *getScheme(void) const
{
return Located->getMassScheme();
}
virtual void setScheme(scheme_type *s)
{
Located->setMassScheme(s);
}
} _MassWrapper; } _MassWrapper;
struct CLifeWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CLifeWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSLocated *Located; NL3D::CPSLocated *Located;
CWorkspaceNode *Node; CWorkspaceNode *Node;
float get(void) const { return Located->getInitialLife(); } float get(void) const
{
return Located->getInitialLife();
}
void set(const float &v); void set(const float &v);
virtual scheme_type *getScheme(void) const { return Located->getLifeScheme(); } virtual scheme_type *getScheme(void) const
{
return Located->getLifeScheme();
}
virtual void setScheme(scheme_type *s); virtual void setScheme(scheme_type *s);
} _LifeWrapper; } _LifeWrapper;
@ -98,7 +117,10 @@ private:
/// update the 'trigger on death' control /// update the 'trigger on death' control
void updateTriggerOnDeath(void); void updateTriggerOnDeath(void);
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
Ui::CLocatedPage _ui; Ui::CLocatedPage _ui;
}; /* class CLocatedPage */ }; /* class CLocatedPage */

View file

@ -32,9 +32,11 @@
using namespace std; using namespace std;
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
namespace { namespace
{
CFileDisplayer *s_FileDisplayer = NULL; CFileDisplayer *s_FileDisplayer = NULL;

View file

@ -49,7 +49,8 @@
using namespace std; using namespace std;
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
CMainWindow::CMainWindow(QWidget *parent) CMainWindow::CMainWindow(QWidget *parent)
: QMainWindow(parent), : QMainWindow(parent),
@ -298,7 +299,8 @@ void CMainWindow::updateInitialization(bool visible)
} }
} }
} while (!done); }
while (!done);
} }
void CMainWindow::createActions() void CMainWindow::createActions()

View file

@ -30,11 +30,13 @@
// Project includes // Project includes
namespace NLMISC { namespace NLMISC
{
class CConfigFile; class CConfigFile;
} }
namespace NLQT { namespace NLQT
{
class CGraphicsViewport; class CGraphicsViewport;
class CAnimationDialog; class CAnimationDialog;
@ -63,7 +65,9 @@ public:
int getFrameRate(); int getFrameRate();
CSkeletonTreeModel *getSkeletonModel() const CSkeletonTreeModel *getSkeletonModel() const
{ return _SkeletonTreeModel; } {
return _SkeletonTreeModel;
}
private Q_SLOTS: private Q_SLOTS:
void open(); void open();

View file

@ -34,7 +34,8 @@
#include "mesh_widget.h" #include "mesh_widget.h"
#include "morph_mesh_dialog.h" #include "morph_mesh_dialog.h"
namespace NLQT { namespace NLQT
{
CMeshWidget::CMeshWidget(QWidget *parent) CMeshWidget::CMeshWidget(QWidget *parent)
: QGroupBox(parent) : QGroupBox(parent)
@ -185,9 +186,12 @@ QString CMeshWidget::getShapeErrorString(sint errorCode)
{ {
switch(errorCode) switch(errorCode)
{ {
case NL3D::CPSConstraintMesh::ShapeFileIsNotAMesh: return tr("Not a mesh"); case NL3D::CPSConstraintMesh::ShapeFileIsNotAMesh:
case NL3D::CPSConstraintMesh::ShapeFileNotLoaded: return tr("Shape not loaded"); return tr("Not a mesh");
case NL3D::CPSConstraintMesh::ShapeHasTooMuchVertices: return tr("Too much vertices"); case NL3D::CPSConstraintMesh::ShapeFileNotLoaded:
return tr("Shape not loaded");
case NL3D::CPSConstraintMesh::ShapeHasTooMuchVertices:
return tr("Too much vertices");
default: default:
break; break;
}; };

View file

@ -36,7 +36,8 @@ namespace NL3D
struct CPSShapeParticle; struct CPSShapeParticle;
} }
namespace NLQT { namespace NLQT
{
class CMeshWidget: public QGroupBox class CMeshWidget: public QGroupBox
{ {
@ -64,7 +65,10 @@ private:
void updateMeshErrorString(); void updateMeshErrorString();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
void touchPSState(); void touchPSState();

View file

@ -41,12 +41,18 @@ void Modules::init()
void Modules::release() void Modules::release()
{ {
delete _mainWindow; _mainWindow = NULL; delete _mainWindow;
delete _particleEditor; _particleEditor = NULL; _mainWindow = NULL;
delete _vegetableEditor; _vegetableEditor = NULL; delete _particleEditor;
delete _soundSystem; _soundSystem = NULL; _particleEditor = NULL;
delete _objectViewer; _objectViewer = NULL; delete _vegetableEditor;
_vegetableEditor = NULL;
delete _soundSystem;
_soundSystem = NULL;
delete _objectViewer;
_objectViewer = NULL;
config().release(); config().release();
delete _configuration; _configuration = NULL; delete _configuration;
_configuration = NULL;
} }

View file

@ -37,12 +37,30 @@ public:
static void init(); static void init();
static void release(); static void release();
static NLQT::CConfiguration &config() { return *_configuration; } static NLQT::CConfiguration &config()
static NLQT::CObjectViewer &objView() { return *_objectViewer; } {
static NLQT::CMainWindow &mainWin() { return *_mainWindow; } return *_configuration;
static NLQT::CParticleEditor &psEdit() { return *_particleEditor; } }
static NLQT::CSoundSystem &sound() { return *_soundSystem; } static NLQT::CObjectViewer &objView()
static NLQT::CVegetableEditor &veget() { return *_vegetableEditor; } {
return *_objectViewer;
}
static NLQT::CMainWindow &mainWin()
{
return *_mainWindow;
}
static NLQT::CParticleEditor &psEdit()
{
return *_particleEditor;
}
static NLQT::CSoundSystem &sound()
{
return *_soundSystem;
}
static NLQT::CVegetableEditor &veget()
{
return *_vegetableEditor;
}
private: private:
static NLQT::CConfiguration *_configuration; static NLQT::CConfiguration *_configuration;
static NLQT::CObjectViewer *_objectViewer; static NLQT::CObjectViewer *_objectViewer;

View file

@ -30,7 +30,8 @@
// Projects includes // Projects includes
#include "mesh_widget.h" #include "mesh_widget.h"
namespace NLQT { namespace NLQT
{
CMorphMeshDialog::CMorphMeshDialog(CWorkspaceNode *ownerNode, NL3D::CPSConstraintMesh *cm, QWidget *parent) CMorphMeshDialog::CMorphMeshDialog(CWorkspaceNode *ownerNode, NL3D::CPSConstraintMesh *cm, QWidget *parent)
: QDialog(parent), _Node(ownerNode), _CM(cm) : QDialog(parent), _Node(ownerNode), _CM(cm)

View file

@ -36,7 +36,8 @@ namespace NL3D
class CPSConstraintMesh; class CPSConstraintMesh;
} }
namespace NLQT { namespace NLQT
{
class CMorphMeshDialog: public QDialog class CMorphMeshDialog: public QDialog
{ {

View file

@ -27,7 +27,8 @@
// Project includes // Project includes
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
CMultiTexDialog::CMultiTexDialog(CWorkspaceNode *ownerNode, NL3D::CPSMultiTexturedParticle *mtp, QWidget *parent) CMultiTexDialog::CMultiTexDialog(CWorkspaceNode *ownerNode, NL3D::CPSMultiTexturedParticle *mtp, QWidget *parent)
: QDialog(parent), _Node(ownerNode), _MTP(mtp) : QDialog(parent), _Node(ownerNode), _MTP(mtp)

View file

@ -37,7 +37,8 @@ namespace NL3D
class CPSMultiTexturedParticle; class CPSMultiTexturedParticle;
} }
namespace NLQT { namespace NLQT
{
class CWorkspaceNode; class CWorkspaceNode;
@ -79,7 +80,10 @@ private:
NL3D::CPSMultiTexturedParticle *_MTP; NL3D::CPSMultiTexturedParticle *_MTP;
void readValues(); void readValues();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
Ui::CMultiTexDialog _ui; Ui::CMultiTexDialog _ui;
}; /* class CMultiTexDialog */ }; /* class CMultiTexDialog */

View file

@ -50,7 +50,8 @@ using namespace std;
using namespace NLMISC; using namespace NLMISC;
using namespace NL3D; using namespace NL3D;
namespace NLQT { namespace NLQT
{
CObjectViewer::CObjectViewer() CObjectViewer::CObjectViewer()
: _Driver(NULL), _TextContext(NULL), : _Driver(NULL), _TextContext(NULL),

View file

@ -34,7 +34,8 @@
// Project includes // Project includes
#include "entity.h" #include "entity.h"
namespace NL3D { namespace NL3D
{
class UDriver; class UDriver;
class UScene; class UScene;
class ULight; class ULight;
@ -46,7 +47,8 @@ namespace NL3D {
class U3dMouseListener; class U3dMouseListener;
} }
namespace NLQT { namespace NLQT
{
/** /**
@class CObjectViewer @class CObjectViewer
@ -132,7 +134,10 @@ public:
/// @param h - height window. /// @param h - height window.
void setSizeViewport(uint16 w, uint16 h); void setSizeViewport(uint16 w, uint16 h);
void setBloomEffect(bool enabled) { _BloomEffect = enabled; } void setBloomEffect(bool enabled)
{
_BloomEffect = enabled;
}
/// Select instance from the scene /// Select instance from the scene
/// @param name - name instance, "" if no instance edited /// @param name - name instance, "" if no instance edited
@ -140,7 +145,10 @@ public:
/// Get current instance from the scene /// Get current instance from the scene
/// @return name current instance, "" if no instance edited /// @return name current instance, "" if no instance edited
const std::string& getCurrentObject() { return _CurrentInstance; } const std::string& getCurrentObject()
{
return _CurrentInstance;
}
/// Get entity from the scene /// Get entity from the scene
/// @return ref Entity /// @return ref Entity
@ -152,33 +160,57 @@ public:
/// Get value background color. /// Get value background color.
/// @return background color. /// @return background color.
inline NLMISC::CRGBA getBackgroundColor() const { return _BackgroundColor; } inline NLMISC::CRGBA getBackgroundColor() const
{
return _BackgroundColor;
}
/// Get type driver. /// Get type driver.
/// @return true if have used Direct3D driver, false OpenGL driver. /// @return true if have used Direct3D driver, false OpenGL driver.
inline bool getDirect3D() const { return _Direct3D; } inline bool getDirect3D() const
{
return _Direct3D;
}
inline bool getBloomEffect() const { return _BloomEffect; } inline bool getBloomEffect() const
{
return _BloomEffect;
}
/// Get a game interface for window driver. /// Get a game interface for window driver.
/// @return pointer to the driver. /// @return pointer to the driver.
inline NL3D::UDriver *getDriver() const { return _Driver; } inline NL3D::UDriver *getDriver() const
{
return _Driver;
}
/// Get a game interface for scene. /// Get a game interface for scene.
/// @return pointer to the scene. /// @return pointer to the scene.
inline NL3D::UScene *getScene() const { return _Scene; } inline NL3D::UScene *getScene() const
{
return _Scene;
}
/// Get a manager of playlist /// Get a manager of playlist
/// @return pointer to the UPlayListManager /// @return pointer to the UPlayListManager
inline NL3D::UPlayListManager *getPlayListManager() const { return _PlayListManager; } inline NL3D::UPlayListManager *getPlayListManager() const
{
return _PlayListManager;
}
/// Get a game interface to render string /// Get a game interface to render string
/// @return pointer to the UPlayListManager /// @return pointer to the UPlayListManager
inline NL3D::UTextContext *getTextContext() const { return _TextContext; } inline NL3D::UTextContext *getTextContext() const
{
return _TextContext;
}
/// Get a 3d mouse listener /// Get a 3d mouse listener
/// @return pointer to the U3dMouseListener /// @return pointer to the U3dMouseListener
inline NL3D::U3dMouseListener *get3dMouseListener() const { return _MouseListener; } inline NL3D::U3dMouseListener *get3dMouseListener() const
{
return _MouseListener;
}
private: private:
void loadConfig(); void loadConfig();

View file

@ -32,7 +32,8 @@
#include "particle_link_skeleton_dialog.h" #include "particle_link_skeleton_dialog.h"
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CParticleControlDialog::CParticleControlDialog(CSkeletonTreeModel *model, QWidget *parent) CParticleControlDialog::CParticleControlDialog(CSkeletonTreeModel *model, QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -25,7 +25,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
class CSkeletonTreeModel; class CSkeletonTreeModel;
class CParticleLinkDialog; class CParticleLinkDialog;

View file

@ -31,7 +31,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CParticleEditor::CParticleEditor(void): CParticleEditor::CParticleEditor(void):
_ActiveNode(NULL), _State(State::Stopped), _Speed(1.0f), _ActiveNode(NULL), _State(State::Stopped), _Speed(1.0f),

View file

@ -34,7 +34,8 @@
// Projects includes // Projects includes
#include "particle_node.h" #include "particle_node.h"
namespace NL3D { namespace NL3D
{
class CParticleSystem; class CParticleSystem;
class CParticleSystemModel; class CParticleSystemModel;
class CShapeBank; class CShapeBank;
@ -44,7 +45,8 @@ namespace NL3D {
class CFontGenerator; class CFontGenerator;
} }
namespace NLQT { namespace NLQT
{
/** /**
@class CParticleEditor @class CParticleEditor
@brief The main class of the particles editor. @brief The main class of the particles editor.
@ -84,10 +86,16 @@ public:
void setActiveNode(CWorkspaceNode *node); void setActiveNode(CWorkspaceNode *node);
/// Get the node of the workspace that is currently active /// Get the node of the workspace that is currently active
CWorkspaceNode *getActiveNode() const { return _ActiveNode; } CWorkspaceNode *getActiveNode() const
{
return _ActiveNode;
}
/// Get the particle system model that is currently active /// Get the particle system model that is currently active
NL3D::CParticleSystemModel *getActivePSM() const { return _ActiveNode ? _ActiveNode->getPSModel() : NULL; } NL3D::CParticleSystemModel *getActivePSM() const
{
return _ActiveNode ? _ActiveNode->getPSModel() : NULL;
}
/// Get a model from a ps pointer. The ps must belong to the workspace /// Get a model from a ps pointer. The ps must belong to the workspace
NL3D::CParticleSystemModel *getModelFromPS(NL3D::CParticleSystem *ps) const; NL3D::CParticleSystemModel *getModelFromPS(NL3D::CParticleSystem *ps) const;
@ -126,14 +134,26 @@ public:
void setDisplayBBox(bool enable); void setDisplayBBox(bool enable);
void setDisplayHelpers(bool enable) { _DisplayHelpers = enable; } void setDisplayHelpers(bool enable)
{
_DisplayHelpers = enable;
}
void setAutoRepeat(bool enable) { _AutoRepeat = enable; } void setAutoRepeat(bool enable)
{
_AutoRepeat = enable;
}
/// Auto bbox for fx /// Auto bbox for fx
void setAutoBBox(bool enable) { _AutoUpdateBBox = enable; } void setAutoBBox(bool enable)
{
_AutoUpdateBBox = enable;
}
bool getAutoBBox() const { return _AutoUpdateBBox; } bool getAutoBBox() const
{
return _AutoUpdateBBox;
}
/// Enable / disbale auto-count /// Enable / disbale auto-count
void enableAutoCount(bool enable); void enableAutoCount(bool enable);
@ -142,13 +162,22 @@ public:
void resetAutoCount(CWorkspaceNode *node, bool reset = true); void resetAutoCount(CWorkspaceNode *node, bool reset = true);
/// Reset the auto compute bbox /// Reset the auto compute bbox
void resetAutoBBox() { _EmptyBBox = true; } void resetAutoBBox()
{
_EmptyBBox = true;
}
/// Get current state /// Get current state
int getState() const { return _State; } int getState() const
{
return _State;
}
/// Return true if one or several system are being played /// Return true if one or several system are being played
bool isRunning() const { return _State == State::RunningSingle || _State == State::RunningMultiple; } bool isRunning() const
{
return _State == State::RunningSingle || _State == State::RunningMultiple;
}
/// Return true if a system is paused. /// Return true if a system is paused.
/// Must call only if running /// Must call only if running
@ -157,17 +186,32 @@ public:
return _State == State::PausedSingle || _State == State::PausedMultiple; return _State == State::PausedSingle || _State == State::PausedMultiple;
} }
CParticleWorkspace *getParticleWorkspace() const { return _PW; } CParticleWorkspace *getParticleWorkspace() const
{
return _PW;
}
NL3D::IDriver *getDriver() const { return _Driver; } NL3D::IDriver *getDriver() const
{
return _Driver;
}
NL3D::CScene *getScene() const { return _Scene; } NL3D::CScene *getScene() const
{
return _Scene;
}
/// Get the fontManager /// Get the fontManager
NL3D::CFontManager *getFontManager() const {return _FontManager;} NL3D::CFontManager *getFontManager() const
{
return _FontManager;
}
/// Get the fontGenerator /// Get the fontGenerator
NL3D::CFontGenerator *getFontGenerator () const { return _FontGen; } NL3D::CFontGenerator *getFontGenerator () const
{
return _FontGen;
}
private: private:
// Check if a node is inserted in the running list (it may be paused) // Check if a node is inserted in the running list (it may be paused)

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
CForcePage::CForcePage(QWidget *parent) CForcePage::CForcePage(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -33,7 +33,8 @@
#include "particle_node.h" #include "particle_node.h"
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CLocatedItem @class CLocatedItem
@ -45,8 +46,14 @@ public:
CLocatedItem ( const QString & text, QListWidget * parent = 0, int type = UserType ): CLocatedItem ( const QString & text, QListWidget * parent = 0, int type = UserType ):
QListWidgetItem(text, parent, type), _loc(NULL) {} QListWidgetItem(text, parent, type), _loc(NULL) {}
void setUserData(NL3D::CPSLocated *loc) { _loc = loc;} void setUserData(NL3D::CPSLocated *loc)
NL3D::CPSLocated *getUserData() const { return _loc;} {
_loc = loc;
}
NL3D::CPSLocated *getUserData() const
{
return _loc;
}
private: private:
@ -84,17 +91,32 @@ private:
struct CForceIntensityWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CForceIntensityWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSForceIntensity *F; NL3D::CPSForceIntensity *F;
float get(void) const { return F->getIntensity(); } float get(void) const
void set(const float &value) {F->setIntensity(value); } {
scheme_type *getScheme(void) const { return F->getIntensityScheme(); } return F->getIntensity();
void setScheme(scheme_type *s) {F->setIntensityScheme(s); } }
void set(const float &value)
{
F->setIntensity(value);
}
scheme_type *getScheme(void) const
{
return F->getIntensityScheme();
}
void setScheme(scheme_type *s)
{
F->setIntensityScheme(s);
}
} _ForceIntensityWrapper; } _ForceIntensityWrapper;
void hideAdditionalWidget(); void hideAdditionalWidget();
void updateTargets(); void updateTargets();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
// the target we're focusing on // the target we're focusing on
NL3D::CPSTargetLocatedBindable *_LBTarget; NL3D::CPSTargetLocatedBindable *_LBTarget;

View file

@ -27,7 +27,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CLightPage::CLightPage(QWidget *parent) CLightPage::CLightPage(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -32,7 +32,8 @@
// Project includes // Project includes
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CLightPage @class CLightPage
@ -56,30 +57,66 @@ private:
struct CColorWrapper : public IPSWrapperRGBA, IPSSchemeWrapperRGBA struct CColorWrapper : public IPSWrapperRGBA, IPSSchemeWrapperRGBA
{ {
NL3D::CPSLight *L; NL3D::CPSLight *L;
NLMISC::CRGBA get(void) const { return L->getColor(); } NLMISC::CRGBA get(void) const
void set(const NLMISC::CRGBA &v) { L->setColor(v); } {
scheme_type *getScheme(void) const { return L->getColorScheme(); } return L->getColor();
void setScheme(scheme_type *s) { L->setColorScheme(s); } }
void set(const NLMISC::CRGBA &v)
{
L->setColor(v);
}
scheme_type *getScheme(void) const
{
return L->getColorScheme();
}
void setScheme(scheme_type *s)
{
L->setColorScheme(s);
}
} _ColorWrapper; } _ColorWrapper;
/// wrapper to set start atten radius /// wrapper to set start atten radius
struct CAttenStartWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CAttenStartWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSLight *L; NL3D::CPSLight *L;
float get(void) const { return L->getAttenStart(); } float get(void) const
void set(const float &v) { L->setAttenStart(v); } {
scheme_type *getScheme(void) const { return L->getAttenStartScheme(); } return L->getAttenStart();
void setScheme(scheme_type *s) { L->setAttenStartScheme(s); } }
void set(const float &v)
{
L->setAttenStart(v);
}
scheme_type *getScheme(void) const
{
return L->getAttenStartScheme();
}
void setScheme(scheme_type *s)
{
L->setAttenStartScheme(s);
}
} _AttenStartWrapper; } _AttenStartWrapper;
/// wrapper to set end atten radius /// wrapper to set end atten radius
struct CAttenEndWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CAttenEndWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSLight *L; NL3D::CPSLight *L;
float get(void) const { return L->getAttenEnd(); } float get(void) const
void set(const float &v) { L->setAttenEnd(v); } {
scheme_type *getScheme(void) const { return L->getAttenEndScheme(); } return L->getAttenEnd();
void setScheme(scheme_type *s) { L->setAttenEndScheme(s); } }
void set(const float &v)
{
L->setAttenEnd(v);
}
scheme_type *getScheme(void) const
{
return L->getAttenEndScheme();
}
void setScheme(scheme_type *s)
{
L->setAttenEndScheme(s);
}
} _AttenEndWrapper; } _AttenEndWrapper;
NL3D::CPSLight *_Light; NL3D::CPSLight *_Light;

View file

@ -27,7 +27,8 @@
#include "modules.h" #include "modules.h"
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
CParticleLinkDialog::CParticleLinkDialog(CSkeletonTreeModel *model, QWidget *parent) CParticleLinkDialog::CParticleLinkDialog(CSkeletonTreeModel *model, QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -29,7 +29,8 @@
// Project includes // Project includes
#include "skeleton_tree_model.h" #include "skeleton_tree_model.h"
namespace NLQT { namespace NLQT
{
class CParticleLinkDialog: public QDockWidget class CParticleLinkDialog: public QDockWidget
{ {

View file

@ -34,7 +34,8 @@
using namespace NLMISC; using namespace NLMISC;
using namespace NL3D; using namespace NL3D;
namespace NLQT { namespace NLQT
{
CWorkspaceNode::CWorkspaceNode() CWorkspaceNode::CWorkspaceNode()
{ {

View file

@ -32,13 +32,15 @@
#include "ps_initial_pos.h" #include "ps_initial_pos.h"
namespace NL3D { namespace NL3D
{
class CParticleSystem; class CParticleSystem;
class CParticleSystemModel; class CParticleSystemModel;
class CShapeBank; class CShapeBank;
} }
namespace NLQT { namespace NLQT
{
class CParticleWorkspace; class CParticleWorkspace;
@ -62,11 +64,17 @@ public:
void setRelativePath(const std::string &relativePath); void setRelativePath(const std::string &relativePath);
const std::string &getRelativePath() const { return _RelativePath; } const std::string &getRelativePath() const
{
return _RelativePath;
}
std::string getFullPath() const; std::string getFullPath() const;
std::string getFilename() const { return NLMISC::CFile::getFilename(_RelativePath); } std::string getFilename() const
{
return NLMISC::CFile::getFilename(_RelativePath);
}
/// Serial node information into workspace stream. This does not save the particle system shape, only a reference to its file /// Serial node information into workspace stream. This does not save the particle system shape, only a reference to its file
void serial(NLMISC::IStream &f); void serial(NLMISC::IStream &f);
@ -89,17 +97,32 @@ public:
/// Helper flag to know if a ps has been modified /// Helper flag to know if a ps has been modified
/// @{ /// @{
bool isModified() const { return _Modified; } bool isModified() const
{
return _Modified;
}
void setModified(bool modified); void setModified(bool modified);
/// @} /// @}
NL3D::CParticleSystem *getPSPointer() const { return _PS; } NL3D::CParticleSystem *getPSPointer() const
NL3D::CParticleSystemModel *getPSModel() const { return _PSM; } {
return _PS;
}
NL3D::CParticleSystemModel *getPSModel() const
{
return _PSM;
}
/// See if this node ps has been loaded /// See if this node ps has been loaded
bool isLoaded() const { return _PS != NULL; } bool isLoaded() const
{
return _PS != NULL;
}
/// Get the workspace in which this node is inserted /// Get the workspace in which this node is inserted
CParticleWorkspace *getWorkspace() const { return _WS; } CParticleWorkspace *getWorkspace() const
{
return _WS;
}
/// Memorize current position of object in the system. Useful to play the system because instances can be created / deleted /// Memorize current position of object in the system. Useful to play the system because instances can be created / deleted
void memorizeState(); void memorizeState();
@ -117,13 +140,25 @@ public:
void removeLocatedBindable(NL3D::CPSLocatedBindable *lb); void removeLocatedBindable(NL3D::CPSLocatedBindable *lb);
/// Returns the skeleton to which the ps is currently sticked /// Returns the skeleton to which the ps is currently sticked
NL3D::CSkeletonModel *getParentSkel() const { return _ParentSkel; } NL3D::CSkeletonModel *getParentSkel() const
{
return _ParentSkel;
}
const std::string &getParentSkelName() const { return _ParentSkelName; } const std::string &getParentSkelName() const
{
return _ParentSkelName;
}
const std::string &getParentBoneName() const { return _ParentBoneName; } const std::string &getParentBoneName() const
{
return _ParentBoneName;
}
std::string getTriggerAnim() { return _TriggerAnim; } std::string getTriggerAnim()
{
return _TriggerAnim;
}
void setTriggerAnim(const std::string &anim); void setTriggerAnim(const std::string &anim);
@ -152,8 +187,14 @@ private:
private: private:
void setup(NL3D::CParticleSystemModel &psm); void setup(NL3D::CParticleSystemModel &psm);
public: public:
bool getResetAutoCountFlag() const { return _ResetAutoCount; } bool getResetAutoCountFlag() const
void setResetAutoCountFlag(bool reset) { _ResetAutoCount = reset; } {
return _ResetAutoCount;
}
void setResetAutoCountFlag(bool reset)
{
_ResetAutoCount = reset;
}
/// Stick to a skeleton /// Stick to a skeleton
void stickPSToSkeleton(NL3D::CSkeletonModel *skel, void stickPSToSkeleton(NL3D::CSkeletonModel *skel,
@ -209,18 +250,27 @@ public:
/// Set a new file name for the workspace /// Set a new file name for the workspace
void setFileName(const std::string &fileName); void setFileName(const std::string &fileName);
std::string getName() const { return _Name; } std::string getName() const
{
return _Name;
}
/// Get the path in which workpsace is located with a trailing slash /// Get the path in which workpsace is located with a trailing slash
std::string getPath() const; std::string getPath() const;
std::string getFilename() const; std::string getFilename() const;
/// Get Number of nodes in the workspace /// Get Number of nodes in the workspace
uint getNumNode() const { return (uint)_Nodes.size(); } uint getNumNode() const
{
return (uint)_Nodes.size();
}
/// Get a node in workspace /// Get a node in workspace
/// Can keep pointer safely as long as the node is not deleted /// Can keep pointer safely as long as the node is not deleted
CWorkspaceNode *getNode(uint index) const { return _Nodes[index]; } CWorkspaceNode *getNode(uint index) const
{
return _Nodes[index];
}
/// Get a node from a pointer on a particle system /// Get a node from a pointer on a particle system
CWorkspaceNode *getNodeFromPS(NL3D::CParticleSystem *ps) const; CWorkspaceNode *getNodeFromPS(NL3D::CParticleSystem *ps) const;
@ -253,21 +303,39 @@ public:
void load() throw(NLMISC::EStream); void load() throw(NLMISC::EStream);
/// Test whether the structure of the workspace has been modified (does not test if ps inside the workspace have been modified) /// Test whether the structure of the workspace has been modified (does not test if ps inside the workspace have been modified)
bool isModified() const { return _Modified; } bool isModified() const
{
return _Modified;
}
/// Test whether the content of the workspace has ben modified /// Test whether the content of the workspace has ben modified
bool isContentModified() const; bool isContentModified() const;
void touch() { setModifiedFlag(true); } void touch()
void clearModifiedFlag() { setModifiedFlag(false); } {
setModifiedFlag(true);
}
void clearModifiedFlag()
{
setModifiedFlag(false);
}
/// Set a callback to know when a node is modified /// Set a callback to know when a node is modified
void setModificationCallback(IModificationCallback *cb) { _ModificationCallback = cb; } void setModificationCallback(IModificationCallback *cb)
IModificationCallback *getModificationCallback() const { return _ModificationCallback; } {
_ModificationCallback = cb;
}
IModificationCallback *getModificationCallback() const
{
return _ModificationCallback;
}
/// Restick all objects, useful after loading /// Restick all objects, useful after loading
void restickAllObjects(); void restickAllObjects();
TNodeVect& getNodeList() { return _Nodes; } TNodeVect& getNodeList()
{
return _Nodes;
}
private: private:
// use smart ptr to avoir prb wih resize // use smart ptr to avoir prb wih resize

View file

@ -25,7 +25,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CPropertyDialog::CPropertyDialog(CParticleTreeModel *treeModel, QWidget *parent) CPropertyDialog::CPropertyDialog(CParticleTreeModel *treeModel, QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -44,7 +44,8 @@
#include "particle_tree_model.h" #include "particle_tree_model.h"
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
class CPropertyDialog: public QDockWidget class CPropertyDialog: public QDockWidget
{ {
@ -55,8 +56,14 @@ public:
void setCurrentEditedElement(CParticleTreeItem *editedItem); void setCurrentEditedElement(CParticleTreeItem *editedItem);
CLocatedPage *getLocatedPage() const { return _locatedPage; }; CLocatedPage *getLocatedPage() const
CPSMoverPage *getMoverPage() const { return _psMoverPage; }; {
return _locatedPage;
};
CPSMoverPage *getMoverPage() const
{
return _psMoverPage;
};
private: private:
void setupUi(); void setupUi();

View file

@ -32,7 +32,8 @@
#include "modules.h" #include "modules.h"
#include "sound_system.h" #include "sound_system.h"
namespace NLQT { namespace NLQT
{
CSoundPage::CSoundPage(QWidget *parent) CSoundPage::CSoundPage(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -38,7 +38,8 @@ namespace NLSOUND
class UAudioMixer; class UAudioMixer;
} }
namespace NLQT { namespace NLQT
{
/** /**
@class CSoundPage @class CSoundPage
@ -70,23 +71,50 @@ private:
struct CGainWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CGainWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSSound *S; NL3D::CPSSound *S;
float get(void) const { return S->getGain(); } float get(void) const
void set(const float &v) { S->setGain(v); } {
scheme_type *getScheme(void) const { return S->getGainScheme(); } return S->getGain();
void setScheme(scheme_type *s) { S->setGainScheme(s); } }
void set(const float &v)
{
S->setGain(v);
}
scheme_type *getScheme(void) const
{
return S->getGainScheme();
}
void setScheme(scheme_type *s)
{
S->setGainScheme(s);
}
} _GainWrapper; } _GainWrapper;
/// wrapper to set the pitch of sounds /// wrapper to set the pitch of sounds
struct CPitchWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat struct CPitchWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
{ {
NL3D::CPSSound *S; NL3D::CPSSound *S;
float get(void) const { return S->getPitch(); } float get(void) const
void set(const float &v) { S->setPitch(v); } {
scheme_type *getScheme(void) const { return S->getPitchScheme(); } return S->getPitch();
void setScheme(scheme_type *s) { S->setPitchScheme(s); } }
void set(const float &v)
{
S->setPitch(v);
}
scheme_type *getScheme(void) const
{
return S->getPitchScheme();
}
void setScheme(scheme_type *s)
{
S->setPitchScheme(s);
}
} _PitchWrapper; } _PitchWrapper;
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
/// the sound being edited /// the sound being edited
NL3D::CPSSound *_Sound; NL3D::CPSSound *_Sound;

View file

@ -38,7 +38,8 @@
using namespace NL3D; using namespace NL3D;
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
static void chooseGlobalUserParam(uint userParam, NL3D::CParticleSystem *ps, QWidget *parent) static void chooseGlobalUserParam(uint userParam, NL3D::CParticleSystem *ps, QWidget *parent)
{ {

View file

@ -33,7 +33,8 @@
// Project includes // Project includes
#include "edit_range_widget.h" #include "edit_range_widget.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CParticleSystemPage @class CParticleSystemPage
@brief Page for QStackWidget, to edit workspace node in a particle system @brief Page for QStackWidget, to edit workspace node in a particle system
@ -110,7 +111,10 @@ private:
bool enabledModifiedFlag; bool enabledModifiedFlag;
void updateModifiedFlag() { if ((_Node) && (enabledModifiedFlag)) _Node->setModified(true); } void updateModifiedFlag()
{
if ((_Node) && (enabledModifiedFlag)) _Node->setModified(true);
}
CWorkspaceNode *_Node; CWorkspaceNode *_Node;

View file

@ -31,7 +31,8 @@
#include "value_gradient_dialog.h" #include "value_gradient_dialog.h"
#include "multi_tex_dialog.h" #include "multi_tex_dialog.h"
namespace NLQT { namespace NLQT
{
CParticleTextureAnimWidget::CParticleTextureAnimWidget(QWidget *parent) CParticleTextureAnimWidget::CParticleTextureAnimWidget(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -38,7 +38,8 @@ namespace NL3D
class CPSMultiTexturedParticle; class CPSMultiTexturedParticle;
} }
namespace NLQT { namespace NLQT
{
class CParticleTextureAnimWidget: public QWidget class CParticleTextureAnimWidget: public QWidget
{ {
@ -63,21 +64,42 @@ private:
struct CTextureWrapper : public IPSWrapperTexture struct CTextureWrapper : public IPSWrapperTexture
{ {
NL3D::CPSTexturedParticle *P; NL3D::CPSTexturedParticle *P;
NL3D::ITexture *get(void) { return P->getTexture(); } NL3D::ITexture *get(void)
void set(NL3D::ITexture *t) { P->setTexture(t); } {
return P->getTexture();
}
void set(NL3D::ITexture *t)
{
P->setTexture(t);
}
} _TextureWrapper; } _TextureWrapper;
/// Wrapper for texture anim sequence /// Wrapper for texture anim sequence
struct CTextureIndexWrapper : public IPSWrapper<sint32>, IPSSchemeWrapper<sint32> struct CTextureIndexWrapper : public IPSWrapper<sint32>, IPSSchemeWrapper<sint32>
{ {
NL3D::CPSTexturedParticle *P; NL3D::CPSTexturedParticle *P;
sint32 get(void) const { return P->getTextureIndex(); } sint32 get(void) const
void set(const sint32 &v) { P->setTextureIndex(v); } {
scheme_type *getScheme(void) const { return P->getTextureIndexScheme(); } return P->getTextureIndex();
void setScheme(scheme_type *s) { P->setTextureIndexScheme(s); } }
void set(const sint32 &v)
{
P->setTextureIndex(v);
}
scheme_type *getScheme(void) const
{
return P->getTextureIndexScheme();
}
void setScheme(scheme_type *s)
{
P->setTextureIndexScheme(s);
}
} _TextureIndexWrapper; } _TextureIndexWrapper;
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
NL3D::CPSTexturedParticle *_EditedParticle; NL3D::CPSTexturedParticle *_EditedParticle;

View file

@ -30,7 +30,8 @@
#include "nel/3d/ps_particle_basic.h" #include "nel/3d/ps_particle_basic.h"
#include "nel/misc/path.h" #include "nel/misc/path.h"
namespace NLQT { namespace NLQT
{
CParticleTextureWidget::CParticleTextureWidget(QWidget *parent) CParticleTextureWidget::CParticleTextureWidget(QWidget *parent)
: QWidget(parent), _Wrapper(NULL) : QWidget(parent), _Wrapper(NULL)

View file

@ -34,7 +34,8 @@
// Project includes // Project includes
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
class CParticleTextureWidget: public QWidget class CParticleTextureWidget: public QWidget
{ {
@ -47,9 +48,15 @@ public:
void updateUi(); void updateUi();
// set a wrapper to get the datas, called before setCurrentTextureNoAnim // set a wrapper to get the datas, called before setCurrentTextureNoAnim
void setWrapper(IPSWrapperTexture *wrapper) { _Wrapper = wrapper ; } void setWrapper(IPSWrapperTexture *wrapper)
{
_Wrapper = wrapper ;
}
void enableRemoveButton(bool enabled) { _ui.removePushButton->setVisible(enabled); } void enableRemoveButton(bool enabled)
{
_ui.removePushButton->setVisible(enabled);
}
Q_SIGNALS: Q_SIGNALS:
void textureChanged(const QString &texName); void textureChanged(const QString &texName);

View file

@ -28,7 +28,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CParticleTreeItem::CParticleTreeItem(const QList<QVariant> &data, const int typeItem, CParticleTreeItem *parent): CParticleTreeItem::CParticleTreeItem(const QList<QVariant> &data, const int typeItem, CParticleTreeItem *parent):
_itemData(data), _itemIconType(typeItem), _parentItem(parent) _itemData(data), _itemIconType(typeItem), _parentItem(parent)

View file

@ -34,7 +34,8 @@
// Projects includes // Projects includes
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
struct ItemType struct ItemType
{ {

View file

@ -42,9 +42,11 @@
#include "dup_ps.h" #include "dup_ps.h"
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
static const char * const LocatedBindable[] = { static const char * const LocatedBindable[] =
{
QT_TR_NOOP("Point"), QT_TR_NOOP("Point"),
QT_TR_NOOP("LookAt"), QT_TR_NOOP("LookAt"),
QT_TR_NOOP("FanLight"), QT_TR_NOOP("FanLight"),

View file

@ -34,7 +34,8 @@
#include "particle_tree_model.h" #include "particle_tree_model.h"
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
/** /**
@class ParticleWorkspaceDialog @class ParticleWorkspaceDialog
@ -48,7 +49,10 @@ public:
~CParticleWorkspaceDialog(); ~CParticleWorkspaceDialog();
void touchPSState(CParticleTreeItem *item); void touchPSState(CParticleTreeItem *item);
CPropertyDialog *getPropertyDialog() const { return _PropertyDialog; } CPropertyDialog *getPropertyDialog() const
{
return _PropertyDialog;
}
Q_SIGNALS: Q_SIGNALS:
/// Emits change active particle system node. /// Emits change active particle system node.

View file

@ -30,7 +30,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CWorkspacePage::CWorkspacePage(CParticleTreeModel *treeModel, QWidget *parent) CWorkspacePage::CWorkspacePage(CParticleTreeModel *treeModel, QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -31,7 +31,8 @@
// Project includes // Project includes
#include "particle_tree_model.h" #include "particle_tree_model.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CWorkspacePage @class CWorkspacePage

View file

@ -28,7 +28,8 @@
#include "particle_force_page.h" #include "particle_force_page.h"
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
CZonePage::CZonePage(QWidget *parent) CZonePage::CZonePage(QWidget *parent)
: QWidget(parent) : QWidget(parent)

View file

@ -31,7 +31,8 @@
// Project includes // Project includes
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
class CZonePage: public QWidget class CZonePage: public QWidget
{ {
@ -53,7 +54,10 @@ private Q_SLOTS:
private: private:
void updateTargets(); void updateTargets();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
/// the target we're focusing on /// the target we're focusing on
NL3D::CPSTargetLocatedBindable *_LBTarget; NL3D::CPSTargetLocatedBindable *_LBTarget;

View file

@ -23,7 +23,8 @@
#include "nel/3d/ps_edit.h" #include "nel/3d/ps_edit.h"
#include "nel/3d/ps_emitter.h" #include "nel/3d/ps_emitter.h"
namespace NLQT { namespace NLQT
{
void CPSInitialPos::reset() void CPSInitialPos::reset()
{ {
@ -87,19 +88,28 @@ struct CRemoveLocatedPred
// private : predicate to remove located from a CPSInitialPos::TInitialLocatedSizeVect vector // private : predicate to remove located from a CPSInitialPos::TInitialLocatedSizeVect vector
struct CRemoveLocatedFromLocatedSizePred : public CRemoveLocatedPred struct CRemoveLocatedFromLocatedSizePred : public CRemoveLocatedPred
{ {
bool operator()(const std::pair<NL3D::CPSLocated *, uint32> &value) { return Loc == value.first; } bool operator()(const std::pair<NL3D::CPSLocated *, uint32> &value)
{
return Loc == value.first;
}
}; };
// private : predicate to remove located from a PSInitialPos::CInitPSInstanceInfo vector // private : predicate to remove located from a PSInitialPos::CInitPSInstanceInfo vector
struct CRemoveLocatedFromInitPSInstanceInfoVectPred : public CRemoveLocatedPred struct CRemoveLocatedFromInitPSInstanceInfoVectPred : public CRemoveLocatedPred
{ {
bool operator()(const CPSInitialPos::CInitPSInstanceInfo &value) { return value.Loc == Loc; } bool operator()(const CPSInitialPos::CInitPSInstanceInfo &value)
{
return value.Loc == Loc;
}
}; };
// private : predicate to remove located from a PSInitialPos::CRotScaleInfo vector // private : predicate to remove located from a PSInitialPos::CRotScaleInfo vector
struct CRemoveLocatedFromRotScaleInfoVectPred : public CRemoveLocatedPred struct CRemoveLocatedFromRotScaleInfoVectPred : public CRemoveLocatedPred
{ {
bool operator()(const CPSInitialPos::CRotScaleInfo &value) { return value.Loc == Loc; } bool operator()(const CPSInitialPos::CRotScaleInfo &value)
{
return value.Loc == Loc;
}
}; };
// private : predicate to remove located bindable pointers in a TRotScaleInfoVect vect // private : predicate to remove located bindable pointers in a TRotScaleInfoVect vect
@ -107,7 +117,10 @@ struct CRemoveLocatedBindableFromRotScaleInfoVectPred
{ {
// the located bindable taht has been removed // the located bindable taht has been removed
NL3D::CPSLocatedBindable *LB; NL3D::CPSLocatedBindable *LB;
bool operator()(const CPSInitialPos::CRotScaleInfo &value) { return value.LB == LB; } bool operator()(const CPSInitialPos::CRotScaleInfo &value)
{
return value.LB == LB;
}
}; };
void CPSInitialPos::removeLocated(NL3D::CPSLocated *loc) void CPSInitialPos::removeLocated(NL3D::CPSLocated *loc)

View file

@ -30,7 +30,8 @@ namespace NL3D
struct IPSMover; struct IPSMover;
} }
namespace NLQT { namespace NLQT
{
/** /**
@class CPSInitialPos @class CPSInitialPos
This class helps to copy the position of initial instances in a particle This class helps to copy the position of initial instances in a particle
@ -77,9 +78,18 @@ public:
NLMISC::CMatrix Rot; NLMISC::CMatrix Rot;
NLMISC::CVector Scale; NLMISC::CVector Scale;
}; };
NL3D::CParticleSystem *getPS() { return _PS; } NL3D::CParticleSystem *getPS()
const NL3D::CParticleSystem *getPS() const { return _PS; } {
bool isStateMemorized() const { return _PS != NULL; } return _PS;
}
const NL3D::CParticleSystem *getPS() const
{
return _PS;
}
bool isStateMemorized() const
{
return _PS != NULL;
}
private: private:
typedef std::vector<CInitPSInstanceInfo> TInitInfoVect; typedef std::vector<CInitPSInstanceInfo> TInitInfoVect;

View file

@ -27,7 +27,8 @@
// Project includes // Project includes
#include "modules.h" #include "modules.h"
namespace NLQT { namespace NLQT
{
const float epsilon = 10E-3f; const float epsilon = 10E-3f;

View file

@ -35,7 +35,8 @@
// Project includes // Project includes
#include "ps_wrapper.h" #include "ps_wrapper.h"
namespace NLQT { namespace NLQT
{
/** /**
@class CLocatedBindableItem @class CLocatedBindableItem
@ -47,8 +48,14 @@ public:
CLocatedBindableItem ( const QString & text, QListWidget * parent = 0, int type = UserType ): CLocatedBindableItem ( const QString & text, QListWidget * parent = 0, int type = UserType ):
QListWidgetItem(text, parent, type), _lb(NULL) {} QListWidgetItem(text, parent, type), _lb(NULL) {}
void setUserData(NL3D::CPSLocatedBindable *loc) { _lb = loc;} void setUserData(NL3D::CPSLocatedBindable *loc)
NL3D::CPSLocatedBindable *getUserData() const { return _lb;} {
_lb = loc;
}
NL3D::CPSLocatedBindable *getUserData() const
{
return _lb;
}
private: private:
@ -77,11 +84,20 @@ public:
NL3D::IPSMover *getMoverInterface(void) ; NL3D::IPSMover *getMoverInterface(void) ;
/// get the located being edited /// get the located being edited
NL3D::CPSLocated *getLocated(void) { return _EditedLocated ; } NL3D::CPSLocated *getLocated(void)
const NL3D::CPSLocated *getLocated(void) const { return _EditedLocated ; } {
return _EditedLocated ;
}
const NL3D::CPSLocated *getLocated(void) const
{
return _EditedLocated ;
}
/// get the index of the current edited item /// get the index of the current edited item
uint32 getLocatedIndex(void) const { return _EditedLocatedIndex ; } uint32 getLocatedIndex(void) const
{
return _EditedLocatedIndex ;
}
/// ghet the current located bindable being edited, or null /// ghet the current located bindable being edited, or null
NL3D::CPSLocatedBindable *getLocatedBindable(void) ; NL3D::CPSLocatedBindable *getLocatedBindable(void) ;
@ -101,8 +117,14 @@ private:
{ {
uint32 Index ; uint32 Index ;
NL3D::IPSMover *M ; NL3D::IPSMover *M ;
float get(void) const { return M->getScale(Index).x ; } float get(void) const
void set(const float &v) { M->setScale(Index, v) ; } {
return M->getScale(Index).x ;
}
void set(const float &v)
{
M->setScale(Index, v) ;
}
} _UniformScaleWrapper ; } _UniformScaleWrapper ;
/// wrapper to scale the X coordinate /// wrapper to scale the X coordinate
@ -110,7 +132,10 @@ private:
{ {
uint32 Index ; uint32 Index ;
NL3D::IPSMover *M ; NL3D::IPSMover *M ;
float get(void) const { return M->getScale(Index).x ; } float get(void) const
{
return M->getScale(Index).x ;
}
void set(const float &s) void set(const float &s)
{ {
NLMISC::CVector v = M->getScale(Index) ; NLMISC::CVector v = M->getScale(Index) ;
@ -123,7 +148,10 @@ private:
{ {
uint32 Index ; uint32 Index ;
NL3D::IPSMover *M ; NL3D::IPSMover *M ;
float get(void) const { return M->getScale(Index).y ; } float get(void) const
{
return M->getScale(Index).y ;
}
void set(const float &s) void set(const float &s)
{ {
NLMISC::CVector v = M->getScale(Index) ; NLMISC::CVector v = M->getScale(Index) ;
@ -136,7 +164,10 @@ private:
{ {
uint32 Index ; uint32 Index ;
NL3D::IPSMover *M ; NL3D::IPSMover *M ;
float get(void) const { return M->getScale(Index).z ; } float get(void) const
{
return M->getScale(Index).z ;
}
void set(const float &s) void set(const float &s)
{ {
NLMISC::CVector v = M->getScale(Index) ; NLMISC::CVector v = M->getScale(Index) ;
@ -146,7 +177,10 @@ private:
void hideAdditionalWidget(); void hideAdditionalWidget();
void updateModifiedFlag() { if (_Node) _Node->setModified(true); } void updateModifiedFlag()
{
if (_Node) _Node->setModified(true);
}
/// update the mouse listener position when the user entered a value with the keyboard /// update the mouse listener position when the user entered a value with the keyboard
void updateListener(void) ; void updateListener(void) ;

View file

@ -30,7 +30,8 @@
// //
#include "particle_node.h" #include "particle_node.h"
namespace NLQT { namespace NLQT
{
/// Wrapper to read/write a value of type T /// Wrapper to read/write a value of type T
template <class T> class IPSWrapper template <class T> class IPSWrapper

View file

@ -34,7 +34,8 @@
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
CSettingsDialog::CSettingsDialog(QWidget *parent) CSettingsDialog::CSettingsDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)

View file

@ -30,7 +30,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
/** /**
@class CSettingsDialog @class CSettingsDialog

View file

@ -34,7 +34,8 @@
using namespace NL3D; using namespace NL3D;
using namespace NLMISC; using namespace NLMISC;
namespace NLQT { namespace NLQT
{
CSetupFog::CSetupFog(QWidget *parent) CSetupFog::CSetupFog(QWidget *parent)
: QDockWidget(parent) : QDockWidget(parent)

View file

@ -31,7 +31,8 @@
// Project includes // Project includes
namespace NLQT { namespace NLQT
{
/** /**
@class CSetupFog @class CSetupFog

View file

@ -34,7 +34,8 @@
#include "modules.h" #include "modules.h"
#include "skeleton_tree_model.h" #include "skeleton_tree_model.h"
namespace NLQT { namespace NLQT
{
const int ssd_scale_precision = 1000; const int ssd_scale_precision = 1000;
@ -432,12 +433,24 @@ void CSkeletonScaleDialog::applyScaleSlider(int scale, int idSelect)
{ {
switch(idSelect) switch(idSelect)
{ {
case SidBoneX: _Bones[i].BoneScale.x = _BkupBones[i].BoneScale.x * factor; break; case SidBoneX:
case SidBoneY: _Bones[i].BoneScale.y = _BkupBones[i].BoneScale.y * factor; break; _Bones[i].BoneScale.x = _BkupBones[i].BoneScale.x * factor;
case SidBoneZ: _Bones[i].BoneScale.z = _BkupBones[i].BoneScale.z * factor; break; break;
case SidSkinX: _Bones[i].SkinScale.x = _BkupBones[i].SkinScale.x * factor; break; case SidBoneY:
case SidSkinY: _Bones[i].SkinScale.y = _BkupBones[i].SkinScale.y * factor; break; _Bones[i].BoneScale.y = _BkupBones[i].BoneScale.y * factor;
case SidSkinZ: _Bones[i].SkinScale.z = _BkupBones[i].SkinScale.z * factor; break; break;
case SidBoneZ:
_Bones[i].BoneScale.z = _BkupBones[i].BoneScale.z * factor;
break;
case SidSkinX:
_Bones[i].SkinScale.x = _BkupBones[i].SkinScale.x * factor;
break;
case SidSkinY:
_Bones[i].SkinScale.y = _BkupBones[i].SkinScale.y * factor;
break;
case SidSkinZ:
_Bones[i].SkinScale.z = _BkupBones[i].SkinScale.z * factor;
break;
}; };
roundClampScale(_Bones[i].BoneScale); roundClampScale(_Bones[i].BoneScale);
roundClampScale(_Bones[i].SkinScale); roundClampScale(_Bones[i].SkinScale);

View file

@ -34,7 +34,8 @@
// Project includes // Project includes
#include "skeleton_tree_model.h" #include "skeleton_tree_model.h"
namespace NLQT { namespace NLQT
{
/// A mirror to the list of bone /// A mirror to the list of bone
struct CBoneMirror struct CBoneMirror

Some files were not shown because too many files have changed in this diff Show more