d8eddc
#pragma once
d8eddc
d8eddc
#ifndef MODIFIERTANGENTS_INCLUDED
d8eddc
#define MODIFIERTANGENTS_INCLUDED
d8eddc
d8eddc
// TnzTools includes
d8eddc
#include <tools inputmanager.h=""></tools>
d8eddc
d8eddc
d8eddc
#undef DVAPI
d8eddc
#undef DVVAR
d8eddc
#ifdef TNZTOOLS_EXPORTS
d8eddc
#define DVAPI DV_EXPORT_API
d8eddc
#define DVVAR DV_EXPORT_VAR
d8eddc
#else
d8eddc
#define DVAPI DV_IMPORT_API
d8eddc
#define DVVAR DV_IMPORT_VAR
d8eddc
#endif
d8eddc
d8eddc
d8eddc
//===================================================================
d8eddc
d8eddc
//*****************************************************************************************
d8eddc
//    TModifierTangents definition
d8eddc
//*****************************************************************************************
d8eddc
6be163
class DVAPI TModifierTangents: public TInputModifier {
d8eddc
public:
bdb1e2
  typedef TSubTrackHandler Handler;
bdb1e2
  class DVAPI Interpolator: public TTrackInterpolator {
d8eddc
  public:
d8eddc
    TTrackTangentList tangents;
bdb1e2
    using TTrackInterpolator::TTrackInterpolator;
bdb1e2
    TTrackPoint interpolate(double index) override;
d8eddc
  };
d8eddc
bdb1e2
  static TTrackTangent calcTangent(const TTrack &track, int index);
9f0c16
d8eddc
  void modifyTrack(
c3c215
    const TTrack &track,
d8eddc
    TTrackList &outTracks ) override;
d8eddc
};
d8eddc
d8eddc
#endif