blob: 2cbc01c5e9316c8db1de114ca11c6a6bfcc6b2bb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#pragma once
#include "..\common\rawaccel.hpp";
#include "..\common\error.hpp";
#include <iostream>
using namespace rawaccel;
using namespace System;
public ref class ManagedAccel
{
protected:
accel_function* accel_instance;
public:
ManagedAccel(accel_function* accel)
: accel_instance(accel)
{
}
ManagedAccel(int mode, double offset, double accel, double lim_exp, double midpoint)
{
accel_fn_args args{};
args.acc_args.accel = accel;
args.acc_args.lim_exp = lim_exp;
args.acc_args.midpoint = midpoint;
args.accel_mode = mode;
args.acc_args.offset = offset;
accel_instance = new accel_function(args);
}
virtual ~ManagedAccel()
{
if (accel_instance != nullptr)
{
delete accel_instance;
}
}
!ManagedAccel()
{
if (accel_instance != nullptr)
{
delete accel_instance;
}
}
accel_function* GetInstance()
{
return accel_instance;
}
Tuple<double, double>^ Accelerate(int x, int y, double time);
};
|