Blob Blame Raw
#pragma once

#ifndef MODIFIERLINE_INCLUDED
#define MODIFIERLINE_INCLUDED

// TnzTools includes
#include <tools/inputmanager.h>


#undef DVAPI
#undef DVVAR
#ifdef TNZTOOLS_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif


//===================================================================

//*****************************************************************************************
//    TModifierLine definition
//*****************************************************************************************

class TModifierLine: public TInputModifier {
public:
  class Modifier: public TTrackModifier {
  public:
    explicit Modifier(TTrackHandler &handler):
      TTrackModifier(handler), fixAngle(), maxPressure() { }

    bool fixAngle;
    double maxPressure;
    TInputSavePoint::Holder savePoint;

    TTrackPoint calcPoint(double originalIndex) override;
  };

  void modifyTrack(
    const TTrack &track,
    const TInputSavePoint::Holder &savePoint,
    TTrackList &outTracks ) override;
};

#endif