// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "Eigen/Dense" #include "CoreMinimal.h" #include "Joint.generated.h" using namespace Eigen; class ULink; /** * */ UCLASS(BlueprintType, ClassGroup=(Custom)) class PBDROBOTICS_API UJoint : public UObject { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite) ULink* FirstLink; UPROPERTY(BlueprintReadWrite) ULink* SecondLink; Vector3d FirstRotateAxis; Vector3d SecondRotateAxis; Vector3d FirstLocalPosition; Vector3d SecondLocalPosition; Vector3d GetFirstWorldPosition() const; Vector3d GetSecondWorldPosition() const; void SolvePosition(const double H) const; void SolveVelocity(const double H) const; UJoint(); };