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:
6be163
  class DVAPI Modifier: public TTrackModifier {
d8eddc
  public:
d8eddc
    explicit Modifier(TTrackHandler &handler):
d8eddc
      TTrackModifier(handler) { }
d8eddc
d8eddc
    TInputSavePoint::Holder savePoint;
d8eddc
    TTrackTangentList tangents;
d8eddc
d8eddc
    TTrackPoint calcPoint(double originalIndex) override;
d8eddc
  };
d8eddc
9f0c16
  TTrackTangent calcLastTangent(const TTrack &track) const;
9f0c16
d8eddc
  void modifyTrack(
c3c215
    const TTrack &track,
d8eddc
    const TInputSavePoint::Holder &savePoint,
d8eddc
    TTrackList &outTracks ) override;
d8eddc
};
d8eddc
d8eddc
#endif