@ -40,15 +40,16 @@
# include "spinner_dialog.h"
# include "follow_path_dialog.h"
namespace NLQT {
namespace NLQT
{
CAttribWidget : : CAttribWidget ( QWidget * parent )
: QGroupBox ( parent ) ,
_SrcInputEnabled ( true ) ,
_EnableConstantValue ( true ) ,
_DisableMemoryScheme ( false ) ,
_NbCycleEnabled ( true ) ,
_Node ( NULL ) , _SchemeWidget ( NULL )
: QGroupBox ( parent ) ,
_SrcInputEnabled ( true ) ,
_EnableConstantValue ( true ) ,
_DisableMemoryScheme ( false ) ,
_NbCycleEnabled ( true ) ,
_Node ( NULL ) , _SchemeWidget ( NULL )
{
_ui . setupUi ( this ) ;
_ui . constRangeUIntWidget - > hide ( ) ;
@ -87,21 +88,21 @@ void CAttribWidget::updateUi()
{
if ( ! _EnableConstantValue )
_ui . comboBox - > hide ( ) ;
else
else
_ui . comboBox - > show ( ) ;
if ( useScheme ( ) )
{
if ( _ui . comboBox - > currentIndex ( ) = = 1 )
if ( _ui . comboBox - > currentIndex ( ) = = 1 )
schemeValueUpdate ( ) ;
else
_ui . comboBox - > setCurrentIndex ( 1 ) ;
}
else
{
nlassert ( _EnableConstantValue ) ;
if ( _ui . comboBox - > currentIndex ( ) = = 0 )
if ( _ui . comboBox - > currentIndex ( ) = = 0 )
cstValueUpdate ( ) ;
else
_ui . comboBox - > setCurrentIndex ( 0 ) ;
@ -122,14 +123,14 @@ void CAttribWidget::clickedEdit()
void CAttribWidget : : setClamp ( bool state )
{
// avoid performance warning
// avoid performance warning
if ( state ! = isSchemeClamped ( ) )
clampScheme ( state ) ;
}
void CAttribWidget : : changeCurrentScheme ( int index )
{
if ( getCurrentScheme ( ) ! = index )
if ( getCurrentScheme ( ) ! = index )
setCurrentScheme ( uint ( index ) ) ;
schemeValueUpdate ( ) ;
}
@ -137,7 +138,7 @@ void CAttribWidget::changeCurrentScheme(int index)
void CAttribWidget : : setCurrentSrc ( int index )
{
NL3D : : CPSInputType it ;
it . InputType = ( NL3D : : CPSInputType : : TInputType ) index ;
it . InputType = ( NL3D : : CPSInputType : : TInputType ) index ;
if ( it . InputType ! = getSchemeInput ( ) . InputType )
{
if ( it . InputType = = NL3D : : CPSInputType : : attrUserParam )
@ -154,7 +155,7 @@ void CAttribWidget::setUserIndex()
bool ok ;
int i = QInputDialog : : getInt ( this , tr ( " Set user param " ) , tr ( " " ) , getSchemeInput ( ) . UserParamNum + 1 , 1 , 4 , 1 , & ok ) ;
if ( ok )
{
{
NL3D : : CPSInputType it = getSchemeInput ( ) ;
it . UserParamNum = i - 1 ;
setSchemeInput ( it ) ;
@ -172,7 +173,7 @@ void CAttribWidget::changeUseScheme(int index)
}
else
{
if ( useScheme ( ) )
if ( useScheme ( ) )
changeCurrentScheme ( getCurrentScheme ( ) ) ; // update ui
else
changeCurrentScheme ( 0 ) ; // change scheme
@ -210,7 +211,7 @@ void CAttribWidget::schemeValueUpdate()
if ( k = = - 1 ) // unknow scheme ...
{
_ui . schemeComboBox - > setCurrentIndex ( k ) ;
k = 0 ;
k = 0 ;
}
if ( k ! = _ui . schemeComboBox - > currentIndex ( ) )
@ -231,7 +232,7 @@ void CAttribWidget::schemeValueUpdate()
_ui . srcLabel - > setEnabled ( false ) ;
_ui . srcComboBox - > setEnabled ( false ) ;
inputValueUpdate ( ) ;
_ui . clampCheckBox - > setEnabled ( false ) ;
_ui . inMultiplierWidget - > setEnabled ( false ) ;
_ui . inputLabel - > setEnabled ( false ) ;
@ -251,7 +252,7 @@ void CAttribWidget::schemeValueUpdate()
_ui . inMultiplierWidget - > hide ( ) ;
_ui . clampCheckBox - > hide ( ) ;
}
if ( isClampingSupported ( ) )
_ui . clampCheckBox - > setChecked ( isSchemeClamped ( ) ) ;
}
@ -267,7 +268,7 @@ void CAttribWidget::enableMemoryScheme(bool enabled)
}
CAttribFloatWidget : : CAttribFloatWidget ( QWidget * parent )
: CAttribWidgetT < float > ( parent )
: CAttribWidgetT < float > ( parent )
{
_ui . schemeComboBox - > addItem ( tr ( " value blender " ) ) ;
_ui . schemeComboBox - > addItem ( tr ( " values gradient " ) ) ;
@ -280,16 +281,16 @@ CAttribFloatWidget::~CAttribFloatWidget()
{
}
void CAttribFloatWidget : : setRange ( float minValue , float maxValue )
{
_MinRange = minValue ;
_MaxRange = maxValue ;
_ui . constRangeFloatWidget - > setRange ( _MinRange , _MaxRange ) ;
void CAttribFloatWidget : : setRange ( float minValue , float maxValue )
{
_MinRange = minValue ;
_MaxRange = maxValue ;
_ui . constRangeFloatWidget - > setRange ( _MinRange , _MaxRange ) ;
}
void CAttribFloatWidget : : setWrapper ( IPSWrapper < float > * wrapper )
{
nlassert ( wrapper ) ;
{
nlassert ( wrapper ) ;
_Wrapper = wrapper ;
_ui . constRangeFloatWidget - > setWrapper ( _Wrapper ) ;
}
@ -298,7 +299,7 @@ QDialog *CAttribFloatWidget::editScheme(void)
{
NL3D : : CPSAttribMaker < float > * scheme = _SchemeWrapper - > getScheme ( ) ;
if ( dynamic_cast < NL3D : : CPSFloatBlender * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSFloatBlender * > ( scheme ) )
{
CFloatBlenderDialogClient * myInterface = new CFloatBlenderDialogClient ( ) ;
myInterface - > MinRange = _MinRange ;
@ -307,7 +308,7 @@ QDialog *CAttribFloatWidget::editScheme(void)
CValueBlenderDialog * vb = new CValueBlenderDialog ( myInterface , _Node , true , this ) ;
return vb ;
}
if ( dynamic_cast < NL3D : : CPSFloatGradient * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSFloatGradient * > ( scheme ) )
{
CFloatGradientWrapper * wrapper = new CFloatGradientWrapper ;
wrapper - > MinRange = _MinRange ;
@ -317,19 +318,19 @@ QDialog *CAttribFloatWidget::editScheme(void)
wrapper - > DefaultValue = 0.f ;
return gd ;
}
if ( dynamic_cast < NL3D : : CPSFloatMemory * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSFloatMemory * > ( scheme ) )
{
CAttribFloatWidget * adf = new CAttribFloatWidget ( ) ;
adf - > setRange ( _MinRange , _MaxRange ) ;
CValueFromEmitterDialogT < float > * vfe = new CValueFromEmitterDialogT < float > ( ( NL3D : : CPSFloatMemory * ) ( scheme ) ,
adf ,
this ) ;
adf ,
this ) ;
vfe - > init ( ) ;
adf - > setWorkspaceNode ( _Node ) ;
adf - > updateUi ( ) ;
return vfe ;
}
if ( dynamic_cast < NL3D : : CPSFloatBinOp * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSFloatBinOp * > ( scheme ) )
{
CAttribFloatWidget * ad [ 2 ] = { NULL , NULL } ;
for ( uint k = 0 ; k < 2 ; + + k )
@ -338,8 +339,8 @@ QDialog *CAttribFloatWidget::editScheme(void)
ad [ k ] - > setRange ( _MinRange , _MaxRange ) ;
}
CBinOpDialogT < float > * bod = new CBinOpDialogT < float > ( ( NL3D : : CPSFloatBinOp * ) ( scheme ) ,
( CAttribWidgetT < float > * * ) ad ,
this ) ;
( CAttribWidgetT < float > * * ) ad ,
this ) ;
bod - > init ( ) ;
for ( uint k = 0 ; k < 2 ; + + k )
{
@ -348,7 +349,7 @@ QDialog *CAttribFloatWidget::editScheme(void)
}
return bod ;
}
if ( dynamic_cast < NL3D : : CPSFloatCurve * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSFloatCurve * > ( scheme ) )
{
CurveEditDialog * curve = new CurveEditDialog ( & ( dynamic_cast < NL3D : : CPSFloatCurve * > ( scheme ) - > _F ) , _Node , this ) ;
return curve ;
@ -363,35 +364,35 @@ void CAttribFloatWidget::setCurrentScheme(uint index)
switch ( index )
{
case 0 :
scheme = new NL3D : : CPSFloatBlender ( _MinRange , _MaxRange ) ;
break ;
case 1 :
{
static const float values [ 2 ] = { 0.1f , 1.f } ;
scheme = new NL3D : : CPSFloatGradient ( values , 2 , 16 , 1.f ) ;
}
break ;
case 2 :
{
NL3D : : CPSFloatCurve * curve = new NL3D : : CPSFloatCurve ;
curve - > _F . setNumSamples ( 128 ) ;
curve - > _F . addControlPoint ( NL3D : : CPSFloatCurveFunctor : : CCtrlPoint ( 0 , 0.5f ) ) ;
curve - > _F . addControlPoint ( NL3D : : CPSFloatCurveFunctor : : CCtrlPoint ( 1 , 0.5f ) ) ;
scheme = curve ;
}
break ;
case 3 :
scheme = new NL3D : : CPSFloatMemory ;
( ( NL3D : : CPSAttribMakerMemory < float > * ) scheme ) - > setScheme ( new NL3D : : CPSFloatBlender ( _MinRange , _MaxRange ) ) ;
break ;
case 4 :
scheme = new NL3D : : CPSFloatBinOp ;
( ( NL3D : : CPSFloatBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSFloatBlender ) ;
( ( NL3D : : CPSFloatBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSFloatBlender ) ;
break ;
default :
break ;
case 0 :
scheme = new NL3D : : CPSFloatBlender ( _MinRange , _MaxRange ) ;
break ;
case 1 :
{
static const float values [ 2 ] = { 0.1f , 1.f } ;
scheme = new NL3D : : CPSFloatGradient ( values , 2 , 16 , 1.f ) ;
}
break ;
case 2 :
{
NL3D : : CPSFloatCurve * curve = new NL3D : : CPSFloatCurve ;
curve - > _F . setNumSamples ( 128 ) ;
curve - > _F . addControlPoint ( NL3D : : CPSFloatCurveFunctor : : CCtrlPoint ( 0 , 0.5f ) ) ;
curve - > _F . addControlPoint ( NL3D : : CPSFloatCurveFunctor : : CCtrlPoint ( 1 , 0.5f ) ) ;
scheme = curve ;
}
break ;
case 3 :
scheme = new NL3D : : CPSFloatMemory ;
( ( NL3D : : CPSAttribMakerMemory < float > * ) scheme ) - > setScheme ( new NL3D : : CPSFloatBlender ( _MinRange , _MaxRange ) ) ;
break ;
case 4 :
scheme = new NL3D : : CPSFloatBinOp ;
( ( NL3D : : CPSFloatBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSFloatBlender ) ;
( ( NL3D : : CPSFloatBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSFloatBlender ) ;
break ;
default :
break ;
}
if ( scheme )
@ -404,15 +405,15 @@ sint CAttribFloatWidget::getCurrentScheme(void) const
{
const NL3D : : CPSAttribMaker < float > * scheme = _SchemeWrapper - > getScheme ( ) ;
if ( dynamic_cast < const NL3D : : CPSFloatBlender * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSFloatBlender * > ( scheme ) )
return 0 ;
if ( dynamic_cast < const NL3D : : CPSFloatGradient * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSFloatGradient * > ( scheme ) )
return 1 ;
if ( dynamic_cast < const NL3D : : CPSFloatCurve * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSFloatCurve * > ( scheme ) )
return 2 ;
if ( dynamic_cast < const NL3D : : CPSFloatMemory * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSFloatMemory * > ( scheme ) )
return 3 ;
if ( dynamic_cast < const NL3D : : CPSFloatBinOp * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSFloatBinOp * > ( scheme ) )
return 4 ;
return - 1 ;
@ -429,7 +430,7 @@ void CAttribFloatWidget::cstValueUpdate()
}
CAttribUIntWidget : : CAttribUIntWidget ( QWidget * parent )
: CAttribWidgetT < uint32 > ( parent )
: CAttribWidgetT < uint32 > ( parent )
{
_ui . schemeComboBox - > addItem ( tr ( " value blender " ) ) ;
_ui . schemeComboBox - > addItem ( tr ( " values gradient " ) ) ;
@ -441,25 +442,25 @@ CAttribUIntWidget::~CAttribUIntWidget()
{
}
void CAttribUIntWidget : : setRange ( uint32 minValue , uint32 maxValue )
{
_MinRange = minValue ;
_MaxRange = maxValue ;
_ui . constRangeUIntWidget - > setRange ( _MinRange , _MaxRange ) ;
void CAttribUIntWidget : : setRange ( uint32 minValue , uint32 maxValue )
{
_MinRange = minValue ;
_MaxRange = maxValue ;
_ui . constRangeUIntWidget - > setRange ( _MinRange , _MaxRange ) ;
}
void CAttribUIntWidget : : setWrapper ( IPSWrapper < uint32 > * wrapper )
{
nlassert ( wrapper ) ;
{
nlassert ( wrapper ) ;
_Wrapper = wrapper ;
_ui . constRangeUIntWidget - > setWrapper ( _Wrapper ) ;
}
QDialog * CAttribUIntWidget : : editScheme ( void )
{
const NL3D : : CPSAttribMaker < uint32 > * scheme = _SchemeWrapper - > getScheme ( ) ;
const NL3D : : CPSAttribMaker < uint32 > * scheme = _SchemeWrapper - > getScheme ( ) ;
if ( dynamic_cast < const NL3D : : CPSUIntBlender * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSUIntBlender * > ( scheme ) )
{
CUIntBlenderDialogClient * myInterface = new CUIntBlenderDialogClient ( ) ;
myInterface - > MinRange = _MinRange ;
@ -468,7 +469,7 @@ QDialog *CAttribUIntWidget::editScheme(void)
CValueBlenderDialog * vb = new CValueBlenderDialog ( myInterface , _Node , true , this ) ;
return vb ;
}
if ( dynamic_cast < const NL3D : : CPSUIntGradient * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSUIntGradient * > ( scheme ) )
{
CUIntGradientWrapper * wrapper = new CUIntGradientWrapper ;
wrapper - > MinRange = _MinRange ;
@ -479,19 +480,19 @@ QDialog *CAttribUIntWidget::editScheme(void)
return gd ;
}
if ( dynamic_cast < const NL3D : : CPSUIntMemory * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSUIntMemory * > ( scheme ) )
{
CAttribUIntWidget * adu = new CAttribUIntWidget ( ) ;
adu - > setRange ( _MinRange , _MaxRange ) ;
CValueFromEmitterDialogT < uint32 > * vfe = new CValueFromEmitterDialogT < uint32 > ( ( NL3D : : CPSUIntMemory * ) ( scheme ) ,
adu ,
this ) ;
vfe - > init ( ) ;
adu - > setWorkspaceNode ( _Node ) ;
adu - > updateUi ( ) ;
return vfe ;
adu ,
this ) ;
vfe - > init ( ) ;
adu - > setWorkspaceNode ( _Node ) ;
adu - > updateUi ( ) ;
return vfe ;
}
if ( dynamic_cast < const NL3D : : CPSUIntBinOp * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSUIntBinOp * > ( scheme ) )
{
CAttribUIntWidget * ad [ 2 ] = { NULL , NULL } ;
for ( uint k = 0 ; k < 2 ; + + k )
@ -500,8 +501,8 @@ QDialog *CAttribUIntWidget::editScheme(void)
ad [ k ] - > setRange ( _MinRange , _MaxRange ) ;
}
CBinOpDialogT < uint32 > * bod = new CBinOpDialogT < uint32 > ( ( NL3D : : CPSUIntBinOp * ) ( scheme ) ,
( CAttribWidgetT < uint32 > * * ) ad ,
this ) ;
( CAttribWidgetT < uint32 > * * ) ad ,
this ) ;
bod - > init ( ) ;
for ( uint k = 0 ; k < 2 ; + + k )
{
@ -520,23 +521,23 @@ void CAttribUIntWidget::setCurrentScheme(uint index)
switch ( index )
{
case 0 :
scheme = new NL3D : : CPSUIntBlender ( _MinRange , _MaxRange ) ;
break ;
case 1 :
scheme = new NL3D : : CPSUIntGradient ;
break ;
case 2 :
scheme = new NL3D : : CPSUIntMemory ;
( ( NL3D : : CPSAttribMakerMemory < uint32 > * ) scheme ) - > setScheme ( new NL3D : : CPSUIntBlender ( _MinRange , _MaxRange ) ) ;
break ;
case 3 :
scheme = new NL3D : : CPSUIntBinOp ;
( ( NL3D : : CPSUIntBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSUIntBlender ) ;
( ( NL3D : : CPSUIntBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSUIntBlender ) ;
break ;
default :
break ;
case 0 :
scheme = new NL3D : : CPSUIntBlender ( _MinRange , _MaxRange ) ;
break ;
case 1 :
scheme = new NL3D : : CPSUIntGradient ;
break ;
case 2 :
scheme = new NL3D : : CPSUIntMemory ;
( ( NL3D : : CPSAttribMakerMemory < uint32 > * ) scheme ) - > setScheme ( new NL3D : : CPSUIntBlender ( _MinRange , _MaxRange ) ) ;
break ;
case 3 :
scheme = new NL3D : : CPSUIntBinOp ;
( ( NL3D : : CPSUIntBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSUIntBlender ) ;
( ( NL3D : : CPSUIntBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSUIntBlender ) ;
break ;
default :
break ;
}
if ( scheme )
{
@ -566,7 +567,7 @@ void CAttribUIntWidget::cstValueUpdate()
}
CAttribIntWidget : : CAttribIntWidget ( QWidget * parent )
: CAttribWidgetT < sint32 > ( parent )
: CAttribWidgetT < sint32 > ( parent )
{
_ui . schemeComboBox - > addItem ( tr ( " value exact blender " ) ) ;
_ui . schemeComboBox - > addItem ( tr ( " values gradient " ) ) ;
@ -578,16 +579,16 @@ CAttribIntWidget::~CAttribIntWidget()
{
}
void CAttribIntWidget : : setRange ( sint32 minValue , sint32 maxValue )
{
_MinRange = minValue ;
_MaxRange = maxValue ;
_ui . constRangeIntWidget - > setRange ( _MinRange , _MaxRange ) ;
void CAttribIntWidget : : setRange ( sint32 minValue , sint32 maxValue )
{
_MinRange = minValue ;
_MaxRange = maxValue ;
_ui . constRangeIntWidget - > setRange ( _MinRange , _MaxRange ) ;
}
void CAttribIntWidget : : setWrapper ( IPSWrapper < sint32 > * wrapper )
{
nlassert ( wrapper ) ;
{
nlassert ( wrapper ) ;
_Wrapper = wrapper ;
_ui . constRangeIntWidget - > setWrapper ( _Wrapper ) ;
}
@ -596,8 +597,8 @@ QDialog *CAttribIntWidget::editScheme(void)
{
const NL3D : : CPSAttribMaker < sint32 > * scheme = _SchemeWrapper - > getScheme ( ) ;
if ( dynamic_cast < const NL3D : : CPSIntBlender * > ( scheme ) )
{
if ( dynamic_cast < const NL3D : : CPSIntBlender * > ( scheme ) )
{
CIntBlenderDialogClient * myInterface = new CIntBlenderDialogClient ( ) ;
myInterface - > MinRange = _MinRange ;
myInterface - > MaxRange = _MaxRange ;
@ -605,7 +606,7 @@ QDialog *CAttribIntWidget::editScheme(void)
CValueBlenderDialog * vb = new CValueBlenderDialog ( myInterface , _Node , true , this ) ;
return vb ;
}
if ( dynamic_cast < const NL3D : : CPSIntGradient * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSIntGradient * > ( scheme ) )
{
CIntGradientWrapper * wrapper = new CIntGradientWrapper ;
wrapper - > MinRange = _MinRange ;
@ -615,18 +616,18 @@ QDialog *CAttribIntWidget::editScheme(void)
wrapper - > DefaultValue = 0 ;
return gd ;
}
if ( dynamic_cast < const NL3D : : CPSIntMemory * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSIntMemory * > ( scheme ) )
{
CAttribIntWidget * adi = new CAttribIntWidget ( ) ;
adi - > setRange ( _MinRange , _MaxRange ) ;
CValueFromEmitterDialogT < sint32 > * vfe = new CValueFromEmitterDialogT < sint32 > ( ( NL3D : : CPSIntMemory * ) _SchemeWrapper - > getScheme ( ) ,
adi , this ) ;
adi , this ) ;
vfe - > init ( ) ;
adi - > setWorkspaceNode ( _Node ) ;
adi - > updateUi ( ) ;
return vfe ;
}
if ( dynamic_cast < const NL3D : : CPSIntBinOp * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSIntBinOp * > ( scheme ) )
{
CAttribIntWidget * ad [ 2 ] = { NULL , NULL } ;
for ( uint k = 0 ; k < 2 ; + + k )
@ -635,8 +636,8 @@ QDialog *CAttribIntWidget::editScheme(void)
ad [ k ] - > setRange ( _MinRange , _MaxRange ) ;
}
CBinOpDialogT < sint32 > * bod = new CBinOpDialogT < sint32 > ( ( NL3D : : CPSIntBinOp * ) ( scheme ) ,
( CAttribWidgetT < sint32 > * * ) ad ,
this ) ;
( CAttribWidgetT < sint32 > * * ) ad ,
this ) ;
bod - > init ( ) ;
for ( uint k = 0 ; k < 2 ; + + k )
{
@ -655,23 +656,23 @@ void CAttribIntWidget::setCurrentScheme(uint index)
switch ( index )
{
case 0 :
scheme = new NL3D : : CPSIntBlender ;
break ;
case 1 :
scheme = new NL3D : : CPSIntGradient ;
break ;
case 2 :
scheme = new NL3D : : CPSIntMemory ;
( ( NL3D : : CPSAttribMakerMemory < sint32 > * ) scheme ) - > setScheme ( new NL3D : : CPSIntBlender ( _MinRange , _MaxRange ) ) ;
break ;
case 3 :
scheme = new NL3D : : CPSIntBinOp ;
( ( NL3D : : CPSIntBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSIntBlender ) ;
( ( NL3D : : CPSIntBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSIntBlender ) ;
break ;
default :
break ;
case 0 :
scheme = new NL3D : : CPSIntBlender ;
break ;
case 1 :
scheme = new NL3D : : CPSIntGradient ;
break ;
case 2 :
scheme = new NL3D : : CPSIntMemory ;
( ( NL3D : : CPSAttribMakerMemory < sint32 > * ) scheme ) - > setScheme ( new NL3D : : CPSIntBlender ( _MinRange , _MaxRange ) ) ;
break ;
case 3 :
scheme = new NL3D : : CPSIntBinOp ;
( ( NL3D : : CPSIntBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSIntBlender ) ;
( ( NL3D : : CPSIntBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSIntBlender ) ;
break ;
default :
break ;
}
if ( scheme )
{
@ -701,7 +702,7 @@ void CAttribIntWidget::cstValueUpdate()
}
CAttribRGBAWidget : : CAttribRGBAWidget ( QWidget * parent )
: CAttribWidgetT < NLMISC : : CRGBA > ( parent )
: CAttribWidgetT < NLMISC : : CRGBA > ( parent )
{
_ui . schemeComboBox - > addItem ( tr ( " color sampled blender " ) ) ;
_ui . schemeComboBox - > addItem ( tr ( " color gradient " ) ) ;
@ -715,24 +716,24 @@ CAttribRGBAWidget::~CAttribRGBAWidget()
}
void CAttribRGBAWidget : : setWrapper ( IPSWrapper < NLMISC : : CRGBA > * wrapper )
{
nlassert ( wrapper ) ;
{
nlassert ( wrapper ) ;
_Wrapper = wrapper ;
_ui . constRGBAWidget - > setWrapper ( _Wrapper ) ;
}
QDialog * CAttribRGBAWidget : : editScheme ( void )
{
const NL3D : : CPSAttribMaker < NLMISC : : CRGBA > * scheme = _SchemeWrapper - > getScheme ( ) ;
const NL3D : : CPSAttribMaker < NLMISC : : CRGBA > * scheme = _SchemeWrapper - > getScheme ( ) ;
if ( dynamic_cast < const NL3D : : CPSColorBlender * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSColorBlender * > ( scheme ) )
{
CRGBABlenderDialogClient * myInterface = new CRGBABlenderDialogClient ( ) ;
myInterface - > SchemeFunc = & ( ( NL3D : : CPSValueBlenderSample < NLMISC : : CRGBA , 64 > * ) scheme ) - > _F ;
CValueBlenderDialog * vb = new CValueBlenderDialog ( myInterface , _Node , true , this ) ;
return vb ;
}
if ( dynamic_cast < const NL3D : : CPSColorGradient * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSColorGradient * > ( scheme ) )
{
CColorGradientWrapper * wrapper = new CColorGradientWrapper ;
wrapper - > Scheme = & ( ( ( NL3D : : CPSColorGradient * ) ( _SchemeWrapper - > getScheme ( ) ) ) - > _F ) ;
@ -740,22 +741,22 @@ QDialog *CAttribRGBAWidget::editScheme(void)
wrapper - > DefaultValue = NLMISC : : CRGBA : : White ;
return gd ;
}
if ( dynamic_cast < const NL3D : : CPSColorBlenderExact * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSColorBlenderExact * > ( scheme ) )
{
return NULL ;
}
if ( dynamic_cast < const NL3D : : CPSColorMemory * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSColorMemory * > ( scheme ) )
{
CAttribRGBAWidget * ad = new CAttribRGBAWidget ( ) ;
CValueFromEmitterDialogT < NLMISC : : CRGBA > * vfe = new CValueFromEmitterDialogT < NLMISC : : CRGBA > ( ( NL3D : : CPSColorMemory * ) ( scheme ) ,
ad ,
this ) ;
ad ,
this ) ;
vfe - > init ( ) ;
ad - > setWorkspaceNode ( _Node ) ;
ad - > updateUi ( ) ;
return vfe ;
}
if ( dynamic_cast < const NL3D : : CPSColorBinOp * > ( scheme ) )
if ( dynamic_cast < const NL3D : : CPSColorBinOp * > ( scheme ) )
{
CAttribRGBAWidget * ad [ 2 ] = { NULL , NULL } ;
for ( uint k = 0 ; k < 2 ; + + k )
@ -763,8 +764,8 @@ QDialog *CAttribRGBAWidget::editScheme(void)
ad [ k ] = new CAttribRGBAWidget ( ) ;
}
CBinOpDialogT < NLMISC : : CRGBA > * bod = new CBinOpDialogT < NLMISC : : CRGBA > ( ( NL3D : : CPSColorBinOp * ) ( scheme ) ,
( CAttribWidgetT < NLMISC : : CRGBA > * * ) ad ,
this ) ;
( CAttribWidgetT < NLMISC : : CRGBA > * * ) ad ,
this ) ;
bod - > init ( ) ;
for ( uint k = 0 ; k < 2 ; + + k )
{
@ -783,26 +784,26 @@ void CAttribRGBAWidget::setCurrentScheme(uint index)
switch ( index )
{
case 0 :
scheme = new NL3D : : CPSColorBlender ;
break ;
case 1 :
scheme = new NL3D : : CPSColorGradient ( NL3D : : CPSColorGradient : : _DefaultGradient , 2 , 16 , 1.f ) ;
break ;
case 2 :
scheme = new NL3D : : CPSColorBlenderExact ;
break ;
case 3 :
scheme = new NL3D : : CPSColorMemory ;
( ( NL3D : : CPSAttribMakerMemory < NLMISC : : CRGBA > * ) scheme ) - > setScheme ( new NL3D : : CPSColorBlender ) ;
break ;
case 4 :
scheme = new NL3D : : CPSColorBinOp ;
( ( NL3D : : CPSColorBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSColorBlender ) ;
( ( NL3D : : CPSColorBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSColorBlender ) ;
break ;
default :
break ;
case 0 :
scheme = new NL3D : : CPSColorBlender ;
break ;
case 1 :
scheme = new NL3D : : CPSColorGradient ( NL3D : : CPSColorGradient : : _DefaultGradient , 2 , 16 , 1.f ) ;
break ;
case 2 :
scheme = new NL3D : : CPSColorBlenderExact ;
break ;
case 3 :
scheme = new NL3D : : CPSColorMemory ;
( ( NL3D : : CPSAttribMakerMemory < NLMISC : : CRGBA > * ) scheme ) - > setScheme ( new NL3D : : CPSColorBlender ) ;
break ;
case 4 :
scheme = new NL3D : : CPSColorBinOp ;
( ( NL3D : : CPSColorBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSColorBlender ) ;
( ( NL3D : : CPSColorBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSColorBlender ) ;
break ;
default :
break ;
}
if ( scheme )
{
@ -833,7 +834,7 @@ void CAttribRGBAWidget::cstValueUpdate()
}
CAttribPlaneBasisWidget : : CAttribPlaneBasisWidget ( QWidget * parent )
: CAttribWidgetT < NL3D : : CPlaneBasis > ( parent )
: CAttribWidgetT < NL3D : : CPlaneBasis > ( parent )
{
_ui . schemeComboBox - > addItem ( tr ( " basis gradient " ) ) ;
_ui . schemeComboBox - > addItem ( tr ( " follow path " ) ) ;
@ -847,8 +848,8 @@ CAttribPlaneBasisWidget::~CAttribPlaneBasisWidget()
}
void CAttribPlaneBasisWidget : : setWrapper ( IPSWrapper < NL3D : : CPlaneBasis > * wrapper )
{
nlassert ( wrapper ) ;
{
nlassert ( wrapper ) ;
_Wrapper = wrapper ;
_ui . constAttribPlaneWidget - > setWrapper ( _Wrapper ) ;
}
@ -856,7 +857,7 @@ void CAttribPlaneBasisWidget::setWrapper(IPSWrapper<NL3D::CPlaneBasis> *wrapper)
QDialog * CAttribPlaneBasisWidget : : editScheme ( void )
{
NL3D : : CPSAttribMaker < NL3D : : CPlaneBasis > * scheme = _SchemeWrapper - > getScheme ( ) ;
if ( dynamic_cast < NL3D : : CPSPlaneBasisGradient * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSPlaneBasisGradient * > ( scheme ) )
{
CPlaneBasisGradientWrapper * wrapper = new CPlaneBasisGradientWrapper ;
wrapper - > Scheme = & ( ( ( NL3D : : CPSPlaneBasisGradient * ) ( _SchemeWrapper - > getScheme ( ) ) ) - > _F ) ;
@ -864,23 +865,23 @@ QDialog *CAttribPlaneBasisWidget::editScheme(void)
wrapper - > DefaultValue = NL3D : : CPlaneBasis ( NLMISC : : CVector : : K ) ;
return gd ;
}
if ( dynamic_cast < NL3D : : CPSPlaneBasisFollowSpeed * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSPlaneBasisFollowSpeed * > ( scheme ) )
{
CFollowPathDialog * dialog = new CFollowPathDialog ( dynamic_cast < NL3D : : CPSPlaneBasisFollowSpeed * > ( scheme ) , _Node , this ) ;
return dialog ;
}
if ( dynamic_cast < NL3D : : CPSPlaneBasisMemory * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSPlaneBasisMemory * > ( scheme ) )
{
CAttribPlaneBasisWidget * ad = new CAttribPlaneBasisWidget ( ) ;
CValueFromEmitterDialogT < NL3D : : CPlaneBasis > * vfe = new CValueFromEmitterDialogT < NL3D : : CPlaneBasis >
( ( NL3D : : CPSPlaneBasisMemory * ) ( scheme ) ,
ad , this ) ;
( ( NL3D : : CPSPlaneBasisMemory * ) ( scheme ) ,
ad , this ) ;
vfe - > init ( ) ;
ad - > setWorkspaceNode ( _Node ) ;
ad - > updateUi ( ) ;
return vfe ;
}
if ( dynamic_cast < NL3D : : CPSPlaneBasisBinOp * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSPlaneBasisBinOp * > ( scheme ) )
{
CAttribPlaneBasisWidget * ad [ 2 ] = { NULL , NULL } ;
for ( uint k = 0 ; k < 2 ; + + k )
@ -888,8 +889,8 @@ QDialog *CAttribPlaneBasisWidget::editScheme(void)
ad [ k ] = new CAttribPlaneBasisWidget ( ) ;
}
CBinOpDialogT < NL3D : : CPlaneBasis > * bod = new CBinOpDialogT < NL3D : : CPlaneBasis > ( ( NL3D : : CPSPlaneBasisBinOp * ) ( scheme ) ,
( CAttribWidgetT < NL3D : : CPlaneBasis > * * ) ad ,
this ) ;
( CAttribWidgetT < NL3D : : CPlaneBasis > * * ) ad ,
this ) ;
bod - > init ( ) ;
for ( uint k = 0 ; k < 2 ; + + k )
{
@ -898,7 +899,7 @@ QDialog *CAttribPlaneBasisWidget::editScheme(void)
}
return bod ;
}
if ( dynamic_cast < NL3D : : CPSBasisSpinner * > ( scheme ) )
if ( dynamic_cast < NL3D : : CPSBasisSpinner * > ( scheme ) )
{
CSpinnerDialog * dialog = new CSpinnerDialog ( dynamic_cast < NL3D : : CPSBasisSpinner * > ( scheme ) , _Node , this ) ;
return dialog ;
@ -912,34 +913,34 @@ void CAttribPlaneBasisWidget::setCurrentScheme(uint index)
NL3D : : CPSAttribMaker < NL3D : : CPlaneBasis > * scheme = NULL ;
switch ( index )
{
case 0 :
scheme = new NL3D : : CPSPlaneBasisGradient ;
break ;
case 1 :
scheme = new NL3D : : CPSPlaneBasisFollowSpeed ;
break ;
case 2 :
scheme = new NL3D : : CPSBasisSpinner ;
static_cast < NL3D : : CPSBasisSpinner * > ( scheme ) - > _F . setNumSamples ( 16 ) ;
break ;
case 3 :
scheme = new NL3D : : CPSPlaneBasisMemory ;
( ( NL3D : : CPSAttribMakerMemory < NL3D : : CPlaneBasis > * ) scheme ) - > setScheme ( new NL3D : : CPSPlaneBasisFollowSpeed ) ;
if ( _Node )
{
_Node - > setModified ( true ) ;
}
break ;
case 4 :
scheme = new NL3D : : CPSPlaneBasisBinOp ;
( ( NL3D : : CPSPlaneBasisBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSPlaneBasisFollowSpeed ) ;
( ( NL3D : : CPSPlaneBasisBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSPlaneBasisFollowSpeed ) ;
break ;
default :
break ;
}
{
case 0 :
scheme = new NL3D : : CPSPlaneBasisGradient ;
break ;
case 1 :
scheme = new NL3D : : CPSPlaneBasisFollowSpeed ;
break ;
case 2 :
scheme = new NL3D : : CPSBasisSpinner ;
static_cast < NL3D : : CPSBasisSpinner * > ( scheme ) - > _F . setNumSamples ( 16 ) ;
break ;
case 3 :
scheme = new NL3D : : CPSPlaneBasisMemory ;
( ( NL3D : : CPSAttribMakerMemory < NL3D : : CPlaneBasis > * ) scheme ) - > setScheme ( new NL3D : : CPSPlaneBasisFollowSpeed ) ;
if ( _Node )
{
_Node - > setModified ( true ) ;
}
break ;
case 4 :
scheme = new NL3D : : CPSPlaneBasisBinOp ;
( ( NL3D : : CPSPlaneBasisBinOp * ) scheme ) - > setArg ( 0 , new NL3D : : CPSPlaneBasisFollowSpeed ) ;
( ( NL3D : : CPSPlaneBasisBinOp * ) scheme ) - > setArg ( 1 , new NL3D : : CPSPlaneBasisFollowSpeed ) ;
break ;
default :
break ;
}
if ( scheme )
{
_SchemeWrapper - > setSchemeAndUpdateModifiedFlag ( scheme ) ;
@ -955,7 +956,7 @@ sint CAttribPlaneBasisWidget::getCurrentScheme(void) const
if ( dynamic_cast < const NL3D : : CPSBasisSpinner * > ( scheme ) ) return 2 ;
if ( dynamic_cast < const NL3D : : CPSPlaneBasisMemory * > ( scheme ) ) return 3 ;
if ( dynamic_cast < const NL3D : : CPSPlaneBasisBinOp * > ( scheme ) ) return 4 ;
return - 1 ;
}