Blame toonz/sources/include/tools/modifiers/modifierjitter.h
|
Ivan Mahonin |
da847a |
#pragma once
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
#ifndef MODIFIERJITTER_INCLUDED
|
|
Ivan Mahonin |
da847a |
#define MODIFIERJITTER_INCLUDED
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
// TnzTools includes
|
|
Ivan Mahonin |
da847a |
#include <tools/inputmanager.h>
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
#undef DVAPI
|
|
Ivan Mahonin |
da847a |
#undef DVVAR
|
|
Ivan Mahonin |
da847a |
#ifdef TNZTOOLS_EXPORTS
|
|
Ivan Mahonin |
da847a |
#define DVAPI DV_EXPORT_API
|
|
Ivan Mahonin |
da847a |
#define DVVAR DV_EXPORT_VAR
|
|
Ivan Mahonin |
da847a |
#else
|
|
Ivan Mahonin |
da847a |
#define DVAPI DV_IMPORT_API
|
|
Ivan Mahonin |
da847a |
#define DVVAR DV_IMPORT_VAR
|
|
Ivan Mahonin |
da847a |
#endif
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
//===================================================================
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
//*****************************************************************************************
|
|
Ivan Mahonin |
da847a |
// TModifierJitter definition
|
|
Ivan Mahonin |
da847a |
//*****************************************************************************************
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
class DVAPI TModifierJitter : public TInputModifier {
|
|
Ivan Mahonin |
da847a |
public:
|
|
Ivan Mahonin |
da847a |
typedef TSubTrackHandler Handler;
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
class DVAPI Interpolator : public TTrackInterpolator {
|
|
Ivan Mahonin |
da847a |
public:
|
|
Ivan Mahonin |
da847a |
const unsigned int seedX;
|
|
Ivan Mahonin |
da847a |
const unsigned int seedY;
|
|
Ivan Mahonin |
da847a |
const double frequency;
|
|
Ivan Mahonin |
da847a |
const double amplitude;
|
|
Ivan Mahonin |
da847a |
Interpolator(TTrack &track, double period, double amplitude);
|
|
Ivan Mahonin |
da847a |
TTrackPoint interpolateFromOriginal(double originalIndex);
|
|
Ivan Mahonin |
da847a |
TTrackPoint interpolate(double index) override;
|
|
Ivan Mahonin |
da847a |
};
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
public:
|
|
Ivan Mahonin |
da847a |
double period;
|
|
Ivan Mahonin |
da847a |
double amplitude;
|
|
Ivan Mahonin |
da847a |
int skipFirst;
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
TModifierJitter(
|
|
Ivan Mahonin |
da847a |
double period = 30,
|
|
Ivan Mahonin |
da847a |
double amplitude = 10,
|
|
Ivan Mahonin |
da847a |
int skipFirst = 0 );
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
void modifyTrack(
|
|
Ivan Mahonin |
da847a |
const TTrack &track,
|
|
Ivan Mahonin |
da847a |
TTrackList &outTracks ) override;
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
void modifyTracks(
|
|
Ivan Mahonin |
da847a |
const TTrackList &tracks,
|
|
Ivan Mahonin |
da847a |
TTrackList &outTracks ) override;
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
static double func(unsigned int seed, double x);
|
|
Ivan Mahonin |
da847a |
};
|
|
Ivan Mahonin |
da847a |
|
|
Ivan Mahonin |
da847a |
#endif
|