Advertisement
BorrowTheProgrammer

MainGraph_h

Jun 12th, 2022
950
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.34 KB | None | 0 0
  1. // Fill out your copyright notice in the Description page of Project Settings.
  2.  
  3. #pragma once
  4.  
  5. #include <vector>
  6.  
  7. #include "CoreMinimal.h"
  8. #include "FloatingActor.h"
  9. #include "GameFramework/Actor.h"
  10. #include "MainGraph.generated.h"
  11.  
  12. UCLASS()
  13. class FORLR_API AMainGraph : public AActor
  14. {
  15.     GENERATED_BODY()
  16.    
  17. public:
  18.     // Sets default values for this actor's properties
  19.     AMainGraph();
  20.  
  21.     ULineBatchComponent* LineBatch;
  22.     // Отступ по X
  23.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Graph")
  24.     float OffsetX;
  25.  
  26.     // Отступ по Y
  27.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Graph")
  28.     float OffsetY;
  29.  
  30.     // Отступ по Z
  31.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Graph")
  32.     float OffsetZ;
  33.  
  34.     // Максимальное количество точек по X
  35.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Graph")
  36.     int GraphPointsCountX;
  37.  
  38.     // Максимальное количество точек по Y
  39.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Graph")
  40.     int GraphPointsCountY;
  41.    
  42.     // Максимальное количество шариков на сцене
  43.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Graph")
  44.     int BallCount;
  45.  
  46.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="ActorToMoveSettings")
  47.     float ActorSpeed;
  48.    
  49.     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="SplineController");
  50.     UStaticMesh *Mesh;
  51.    
  52.     // массив точек, заданных в формате FVector
  53.     std::vector<FVector> Points;
  54.     // массив ребер
  55.     std::vector< std::vector<int> > Ribs;
  56.     // матрица смежности
  57.     std::vector< std::vector<double> > Matrix;
  58.  
  59.     std::vector<AFloatingActor*> FloatingActors;
  60.    
  61. protected:
  62.     // Called when the game starts or when spawned
  63.     virtual void BeginPlay() override;
  64.  
  65. public:
  66.     // Called every frame
  67.     virtual void Tick(float DeltaTime) override;
  68.  
  69.     virtual void OnConstruction(const FTransform& Transform) override;
  70.    
  71.     double Random(const double Min, const double Max);
  72.  
  73.     // для генерации точек и ребер графа
  74.     void NewConjectureMatrix();
  75.  
  76.     void InitializeConjectureMatrix();
  77.  
  78.     void FillConjectureMatrix();
  79.  
  80.     std::vector<int> GetShortPath(int Start, int End);
  81.  
  82.     void CreateActorsToMove();
  83.  
  84.     void AddStaticMeshes();
  85.  
  86.     FLinearColor GenerateActorColor();
  87.    
  88. };
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement