2013-01-19 22:42:50 +00:00
|
|
|
#ifndef _PAYSAGES_TOOLS_CURVE_H_
|
|
|
|
#define _PAYSAGES_TOOLS_CURVE_H_
|
2012-03-08 15:10:25 +00:00
|
|
|
|
2013-10-20 14:47:59 +00:00
|
|
|
#include "../rendering_global.h"
|
2013-11-03 12:00:31 +00:00
|
|
|
|
|
|
|
namespace paysages {
|
|
|
|
namespace system {class PackStream;}
|
|
|
|
}
|
2012-03-08 15:10:25 +00:00
|
|
|
|
|
|
|
typedef struct {
|
2012-06-17 09:40:40 +00:00
|
|
|
double position;
|
|
|
|
double value;
|
2012-03-08 15:10:25 +00:00
|
|
|
} CurvePoint;
|
|
|
|
typedef struct Curve Curve;
|
|
|
|
|
2013-10-20 14:47:59 +00:00
|
|
|
RENDERINGSHARED_EXPORT Curve* curveCreate();
|
|
|
|
RENDERINGSHARED_EXPORT void curveDelete(Curve* curve);
|
|
|
|
RENDERINGSHARED_EXPORT void curveCopy(Curve* source, Curve* destination);
|
2012-03-08 15:10:25 +00:00
|
|
|
|
2013-10-20 14:47:59 +00:00
|
|
|
RENDERINGSHARED_EXPORT void curveSave(PackStream* stream, Curve* curve);
|
|
|
|
RENDERINGSHARED_EXPORT void curveLoad(PackStream* stream, Curve* curve);
|
2012-03-08 15:10:25 +00:00
|
|
|
|
2013-10-20 14:47:59 +00:00
|
|
|
RENDERINGSHARED_EXPORT void curveClear(Curve* curve);
|
|
|
|
RENDERINGSHARED_EXPORT void curveSetDefault(Curve* curve, double value);
|
|
|
|
RENDERINGSHARED_EXPORT int curveAddPoint(Curve* curve, CurvePoint* point);
|
|
|
|
RENDERINGSHARED_EXPORT int curveQuickAddPoint(Curve* curve, double position, double value);
|
|
|
|
RENDERINGSHARED_EXPORT int curveGetPointCount(Curve* curve);
|
|
|
|
RENDERINGSHARED_EXPORT void curveGetPoint(Curve* curve, int number, CurvePoint* point);
|
|
|
|
RENDERINGSHARED_EXPORT void curveSetPoint(Curve* curve, int number, CurvePoint* point);
|
|
|
|
RENDERINGSHARED_EXPORT void curveRemovePoint(Curve* curve, int number);
|
|
|
|
RENDERINGSHARED_EXPORT void curveValidate(Curve* curve);
|
2012-03-08 15:10:25 +00:00
|
|
|
|
2013-10-20 14:47:59 +00:00
|
|
|
RENDERINGSHARED_EXPORT double curveGetValue(Curve* curve, double position);
|
2012-03-08 15:10:25 +00:00
|
|
|
|
|
|
|
#endif
|