24#include <QGraphicsPolygonItem>
25#include <QGraphicsView>
37 double lengthCutoffIn,
41 double directionalFactorExponentIn,
42 double directionalReflectionDampingIn,
109 while (k < 3000000) {
123 for (
size_t sample = 0; sample <
energy.size(); sample++) {
130 if (
energy.empty())
return 0;
131 if (param < 0) param = 0;
132 if (param > 1) param = 1;
139 return klow < 0 ? 0 : klow;
144 return khigh > 1 ? 1 : khigh;
165 setTransformationAnchor(QGraphicsView::NoAnchor);
166 setResizeAnchor(QGraphicsView::NoAnchor);
188 QLineEdit::focusOutEvent(e);
235 void resize(
const int width,
const int height);
virtual void resizeEvent(QResizeEvent *event)
void resizeSignal(int width, int height)
virtual void focusOutEvent(QFocusEvent *e)
DeepWaterLineEdit(QWidget *parent=0)
void windSpeedChanged(double val)
void tileSizeChanged(double val)
QGraphicsPolygonItem * _curvePoly
void setParams(const SeDeepWaterParams ¶msIn)
void lengthCutoffChanged(double val)
void resize(const int width, const int height)
void resolutionChanged(int val)
void sharpenChanged(double val)
SeDeepWater< double > T_CURVE
void emitDeepWaterChanged()
void amplitudeChanged(double val)
void directionalFactorExponentChanged(double val)
void directionalReflectionDampingChanged(double val)
void windAngleChanged(double val)
QGraphicsRectItem * _gridRect
void flowDirectionChanged(QString val)
QGraphicsRectItem * _baseRect
void lengthCutoffChanged()
void directionalFactorExponentChanged()
void amplitudeChangedSignal(double val)
void flowDirectionChanged()
void windAngleChangedSignal(double val)
DeepWaterLineEdit * _resolutionEdit
void flowDirectionChangedSignal(QString val)
void directionalReflectionDampingChanged()
DeepWaterLineEdit * _directionalReflectionDampingEdit
void directionalFactorExponentChangedSignal(double val)
void tileSizeChangedSignal(double val)
ExprDeepWater(QWidget *parent=0)
void lengthCutoffChangedSignal(double val)
DeepWaterLineEdit * _sharpenEdit
DeepWaterLineEdit * _tileSizeEdit
DeepWaterLineEdit * _lengthCutoffEdit
void directionalReflectionDampingChangedSignal(double val)
void windSpeedChangedSignal(double val)
DeepWaterLineEdit * _windSpeedEdit
void setParams(const SeDeepWaterParams ¶ms)
DeepWaterLineEdit * _windAngleEdit
void resolutionChangedSignal(int val)
void sharpenChangedSignal(double val)
DeepWaterLineEdit * _directionalFactorExponentEdit
DeepWaterLineEdit * _amplitudeEdit
DeepWaterLineEdit * _flowDirectionEdit
SeExpr2::Vec3d flowDirection
SeDeepWaterParams(int resolutionIn, double tileSizeIn, double lengthCutoffIn, double amplitudeIn, double windAngleIn, double windSpeedIn, double directionalFactorExponentIn, double directionalReflectionDampingIn, const SeExpr2::Vec3d &flowDirectionIn, double sharpenIn, double timeIn, double filterWidthIn)
double directionalFactorExponent
double directionalReflectionDamping
T fromIndex(const T index)
T powerLaw(const T x, const SeDeepWaterParams ¶ms)
T getValue(double param) const
Evaluates curve and returns full value.
void setParams(const SeDeepWaterParams ¶msIn)
</pre >< h3 > A simple variable reference</h3 > This is not a very interesting subclass of expression until we add some additional variables Variables on some applications may be very dynamic In this we only need x
< br > pow($a, 0.5)+ $b< br >< br ></div > External variables can also be overridden by local assignment.  
This is the same as the prman cellnoise function< br ></div >< br > float< b > float y< br > float< b > float float z
The result is computed int int< br >< div style="margin-left: 40px;"> Picks values randomly between loRange and hiRange based on supplied index(which is automatically hashed).