#pragma once
#include "CoreMinimal.h"
#include "Blueprint/UserWidget.h"
#include "Blueprint/WidgetBlueprintLibrary.h"
/**
*
*/
class SKETCHWITHDEPTH_API CPP_2D_Curve
{
protected:
bool is_vertical;
bool is_dirty;
TArray<FVector2D> curve_points;
FColor color;
FVector4 bounding_box;
public:
static const float ENDPOINT_SNAP_DISTANCE;
CPP_2D_Curve();
CPP_2D_Curve(const CPP_2D_Curve& c1);
~CPP_2D_Curve();
int add_curve_point(FVector2D p);
TArray<FVector2D> get_curve_points();
void clear_curve();
void set_curve_color(FColor col);
FVector2D get_start_point();
FVector2D get_end_point();
bool check_if_vertical();
void draw_curve(FPaintContext &pc, FVector2D viewport_size);
};