#include <valfunc.h>
Inheritance diagram for ValueFunctionTeardropCurvedEnd:
Public Member Functions | |
ValueFunctionTeardropCurvedEnd (double MaxPosition=0.20) | |
virtual double | GetValue (double Position) |
To read the value of this function at a given position. | |
virtual INT32 | GetMinimumRecursionDepth () |
Overriden function to indicate to the path stroker how many recursions to perform at minimum before declaring a line segment 'flat' enough. | |
virtual ValueFunctionID | GetUniqueID (void) |
Protected Member Functions | |
virtual ValueFunctionBlip * | CreateInstance (void) |
Creates a new blank object of the same type as this one. Internal function used in ValueFunctionTeardrop & ValueFunctionTeardropS. | |
Private Member Functions | |
CC_DECLARE_DYNAMIC (ValueFunctionTeardropCurvedEnd) |
Definition at line 737 of file valfunc.h.
|
Definition at line 742 of file valfunc.h. 00742 : ValueFunctionBlip(MaxPosition) {};
|
|
|
|
Creates a new blank object of the same type as this one. Internal function used in ValueFunctionTeardrop & ValueFunctionTeardropS.
Reimplemented from ValueFunctionBlip. Definition at line 2672 of file valfunc.cpp. 02673 { 02674 return(new ValueFunctionTeardropCurvedEnd); 02675 }
|
|
Overriden function to indicate to the path stroker how many recursions to perform at minimum before declaring a line segment 'flat' enough.
Reimplemented from ValueFunction. Definition at line 2646 of file valfunc.cpp.
|
|
Reimplemented from ValueFunctionBlip. Definition at line 746 of file valfunc.h. 00746 { return(ValueFunctionID_TeardropCurvedEnd); };
|
|
To read the value of this function at a given position.
Reimplemented from ValueFunctionBlip. Definition at line 2602 of file valfunc.cpp. 02603 { 02604 double Value; 02605 if (Position < 0.2) 02606 { 02607 Position = 1.0 - Position/0.2; 02608 if ( Position>1.0 ) 02609 Position = 1.0; 02610 Value = sqrt(1-Position*Position); 02611 } 02612 else 02613 { 02614 Position = (Position - 0.2) / 0.8; 02615 Value = sqrt(1.0 - Position); 02616 } 02617 02618 /* if (Position > 0.9) 02619 { 02620 Position = (Position - 0.9) / 0.1; 02621 Value = 0.4 * (cos(asin(Position))); 02622 } 02623 else 02624 { 02625 Position = (Position - 0.2) / 0.7; 02626 Value = ((1.0 - (Position * Position)) * 0.6) + 0.4; 02627 } 02628 } 02629 */ 02630 return(Value); 02631 }
|