|
|
Representation of a sinus curve as a Border. Inherits the astract class BorderBase the sine is prescribed by 4 variable, always starts at x=0.
| K2dBorderSinCurve (double L, double a, double V, uint n, double b )
| K2dBorderSinCurve |
construct an sine curve with length L, slope a, amplitude V, nr of hills n, offset b
| ~K2dBorderSinCurve ()
| ~K2dBorderSinCurve |
[virtual]
| void draw (QPainter* ,bool meshed = false )
| draw |
[virtual]
draw on a painter the sinus
Reimplemented from K2dBorderBase.
| void changeSinCurve ( double L, double a, double V, uint n, double b )
| changeSinCurve |
Change the sine in one action. This automatically recalculates interval points One action for less overhead in recalculating interval
| bool onBorder (const double &co1, const double &co2 , bool meshed)
| onBorder |
[const virtual]
see if a certain given point is on the border Remark : since we work with double, we take the defined TOPONUMEPS as allowed difference to be equal
Reimplemented from K2dBorderBase.
| void minCo (uint coordIndex, double &valueMin)
| minCo |
[const virtual]
we want to be able to retrieve the min and maximum values of border coordIndex is the index, eg 0 for the first, 1 for the second; and value is the present min or max the function changes this if necessary.
Reimplemented from K2dBorderBase.
| void maxCo (uint coordIndex, double &valueMax)
| maxCo |
[const virtual]
Reimplemented from K2dBorderBase.
| double getLength ()
| getLength |
[const]
function to retrieve internal data sine
| double getSlope ()
| getSlope |
[const]
function to retrieve internal data sine
| double getAmplitude ()
| getAmplitude |
[const]
function to retrieve internal data sine
| double getOffset ()
| getOffset |
[const]
function to retrieve internal data sine
| int getHills ()
| getHills |
[const]
function to retrieve internal data sine
| int nrMeshIntervalPoints ()
| nrMeshIntervalPoints |
[const]
return the number of mesh interval points currently set on the curve, default = 0
| void setNrMeshInterval (int)
| setNrMeshInterval |
set the meshinterval to a certain value (default = 0), the points are recalculated if changed. beware to give value >=0
| bool reverseValue ()
| reverseValue |
[const]
return how the curve is transversed, false is normal t from 0 to 1, true is transverse, t from 1 to 0
| void setReverse (bool )
| setReverse |
set how the curve is transversed
| double triaSize ()
| triaSize |
[const]
Return trianglesize in meshpoints on the sine, is default initialized on construction by 1, so 1 is returned if never set before
| void changeTriaSize (double size)
| changeTriaSize |
Change the trianglesize for the meshpoints
| BorderType type ()
| type |
[virtual]
return the type of the Border (something like the name)
Reimplemented from K2dBorderBase.
| void printBorder (QTextStream &)
| printBorder |
[virtual]
Implementation of base class printBorder
Reimplemented from K2dBorderBase.
| friend QTextStream & operator<< ( QTextStream &, const K2dBorderSinCurve & )
| operator<< |
write a line to the ouputstream in a nice text format
| double length | length |
[private]
| double slope | slope |
[private]
| double amplitude | amplitude |
[private]
| double offset | offset |
[private]
| int hills | hills |
[private]
| int nrMeshPoints | nrMeshPoints |
[private]
| bool reverse | reverse |
[private]
| double value1 (double t)
| value1 |
[private const]
internal functioni that computes first coordinate with a given t, parameter between 0 .. 1
| double value2 (double t)
| value2 |
[private const]
internal functioni that computes second coordinate with a given t, parameter between 0 .. 1
| void calcMeshIntervalPoints ()
| calcMeshIntervalPoints |
[private]
internal function that recalculates the value of the points between begin and endpoint in the mesh