Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Source/RoadBuilder/Public/GroundActor.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ struct ROADBUILDER_API FGroundPoint
return HashCombineFast(GetTypeHash(Point.Road), GetTypeHash(Point.Side << 16 | Point.Index));
}
UPROPERTY()
ARoadActor* Road;
TObjectPtr<ARoadActor> Road;

UPROPERTY()
int Side;
Expand Down Expand Up @@ -78,7 +78,7 @@ class ROADBUILDER_API AGroundActor : public AActor
Tags.Remove(TEXT("Expired"));
}
UPROPERTY(EditAnywhere, Category = Ground)
UMaterialInterface* Material;
TObjectPtr<UMaterialInterface> Material;

UPROPERTY()
TArray<FVector> ManualPoints;
Expand Down
2 changes: 1 addition & 1 deletion Source/RoadBuilder/Public/LaneMarkStyle.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class ROADBUILDER_API UBaseMarkStyle : public UObject
public:
virtual void BuildMesh(UObject* Caller, FRoadMesh& Builder, const FPolyline& Curve) {}
UPROPERTY(EditAnywhere, Category = Style)
UMaterialInterface* Material = nullptr;
TObjectPtr<UMaterialInterface> Material = nullptr;
};

UCLASS()
Expand Down
2 changes: 1 addition & 1 deletion Source/RoadBuilder/Public/LaneShape.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ struct FLaneCrossSection
GENERATED_USTRUCT_BODY()

UPROPERTY(EditAnywhere, Category = CrossSection)
UMaterialInterface* Material = nullptr;
TObjectPtr<UMaterialInterface> Material = nullptr;

UPROPERTY(EditAnywhere, Category = CrossSection)
ELaneAlignment Alignment;
Expand Down
22 changes: 11 additions & 11 deletions Source/RoadBuilder/Public/RoadActor.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ struct FRoadLaneStyle
ELaneType LaneType;

UPROPERTY(EditAnywhere, Category = Style)
ULaneShape* LaneShape = nullptr;
TObjectPtr<ULaneShape> LaneShape = nullptr;

UPROPERTY(EditAnywhere, Category = Style)
ULaneMarkStyle* LaneMarking = nullptr;
TObjectPtr<ULaneMarkStyle> LaneMarking = nullptr;

UPROPERTY(EditAnywhere, Category = Style)
URoadProps* Props = nullptr;
TObjectPtr<URoadProps> Props = nullptr;
};

UCLASS()
Expand Down Expand Up @@ -63,10 +63,10 @@ class ROADBUILDER_API URoadStyle : public UObject
TArray<FRoadLaneStyle> RightLanes;

UPROPERTY(EditAnywhere, Category = Style)
ULaneMarkStyle* BaseCurveMark;
TObjectPtr<ULaneMarkStyle> BaseCurveMark;

UPROPERTY(EditAnywhere, Category = Style)
URoadProps* BaseCurveProps = nullptr;
TObjectPtr<URoadProps> BaseCurveProps = nullptr;

UPROPERTY(EditAnywhere, Category = Style)
bool bHasGround = false;
Expand Down Expand Up @@ -175,7 +175,7 @@ struct FConnectInfo
double ConnectionSign(ARoadActor* Parent);

UPROPERTY()
ARoadActor* Child;
TObjectPtr<ARoadActor> Child;

UPROPERTY()
int Index;
Expand Down Expand Up @@ -336,19 +336,19 @@ class ROADBUILDER_API ARoadActor : public AActor
TArray<FHeightSegment> HeightSegments;

UPROPERTY(EditAnywhere, Category = Road)
TArray<URoadLane*> Lanes;
TArray<TObjectPtr<URoadLane>> Lanes;

UPROPERTY(EditAnywhere, Category = Road)
TArray<URoadBoundary*> Boundaries;
TArray<TObjectPtr<URoadBoundary>> Boundaries;

UPROPERTY(EditAnywhere, Category = Road)
TArray<URoadMarking*> Markings;
TArray<TObjectPtr<URoadMarking>> Markings;

UPROPERTY()
URoadBoundary* BaseCurve;
TObjectPtr<URoadBoundary> BaseCurve;

UPROPERTY(EditAnywhere, Category = Road)
ARoadActor* ConnectedParents[2] = { nullptr, nullptr };
TObjectPtr<ARoadActor> ConnectedParents[2] = { nullptr, nullptr };

UPROPERTY(EditAnywhere, Category = Road)
bool bHasGround = false;
Expand Down
10 changes: 5 additions & 5 deletions Source/RoadBuilder/Public/RoadBoundary.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ struct FBoundarySegment
double Dist = 0;

UPROPERTY(EditAnywhere, Category = Segment)
ULaneMarkStyle* LaneMarking = nullptr;
TObjectPtr<ULaneMarkStyle> LaneMarking = nullptr;

UPROPERTY(EditAnywhere, Category = Segment)
URoadProps* Props = nullptr;
TObjectPtr<URoadProps> Props = nullptr;
};

UCLASS()
Expand All @@ -47,16 +47,16 @@ class ROADBUILDER_API URoadBoundary : public URoadCurve
void Cut(double R_Start, double R_End);
double& SegmentStart(int i) { return Segments[i].Dist; }
double& SegmentEnd(int i) { return i + 1 < Segments.Num() ? Segments[i + 1].Dist : Length(); }
URoadLane*& GetLane(int Side) { return Side ? LeftLane : RightLane; }
URoadLane*& GetLane(int Side) { return Side ? MutableView(LeftLane) : MutableView(RightLane); }

UPROPERTY(EditAnywhere, Category = Boundary)
TArray<FBoundarySegment> Segments;

UPROPERTY()
URoadLane* LeftLane = nullptr;
TObjectPtr<URoadLane> LeftLane = nullptr;

UPROPERTY()
URoadLane* RightLane = nullptr;
TObjectPtr<URoadLane> RightLane = nullptr;

TArray<FOctreeElementId2> OctreeIds;
};
4 changes: 2 additions & 2 deletions Source/RoadBuilder/Public/RoadCurve.h
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ struct FPolyline
}
FVector GetStraightDir(int i) const
{
FVector Prev, Next;
FVector Prev, Next = FVector::ZeroVector;
if (i > 0)
Prev = (Points[i].Pos - Points[i - 1].Pos).GetSafeNormal();
if (i < Points.Num() - 1)
Expand All @@ -192,7 +192,7 @@ struct FPolyline
}
FVector GetStraightRight(int i) const
{
FVector Prev, Next;
FVector Prev, Next = FVector::ZeroVector;
if (i > 0)
Prev = (Points[i].Pos - Points[i - 1].Pos).GetSafeNormal();
if (i < Points.Num() - 1)
Expand Down
8 changes: 4 additions & 4 deletions Source/RoadBuilder/Public/RoadLane.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ struct FLaneSegment
double Dist = 0;

UPROPERTY(EditAnywhere, Category = Segment)
ULaneShape* LaneShape = nullptr;
TObjectPtr<ULaneShape> LaneShape = nullptr;

UPROPERTY(EditAnywhere, Category = Segment)
ELaneType LaneType = (ELaneType)0;
Expand All @@ -65,14 +65,14 @@ class ROADBUILDER_API URoadLane : public URoadCurve
double& SegmentStart(int i) { return Segments[i].Dist; }
double& SegmentEnd(int i) { return i + 1 < Segments.Num() ? Segments[i + 1].Dist : Length(); }
double GetWidth(double Dist) { return FMath::Abs(LeftBoundary->GetOffset(Dist) - RightBoundary->GetOffset(Dist)); }
URoadBoundary*& GetBoundary(int Side) { return Side ? LeftBoundary : RightBoundary; }
URoadBoundary*& GetBoundary(int Side) { return Side ? MutableView(LeftBoundary) : MutableView(RightBoundary); }

UPROPERTY(EditAnywhere, Category = Lane)
TArray<FLaneSegment> Segments;

UPROPERTY()
URoadBoundary* LeftBoundary = nullptr;
TObjectPtr<URoadBoundary> LeftBoundary = nullptr;

UPROPERTY()
URoadBoundary* RightBoundary = nullptr;
TObjectPtr<URoadBoundary> RightBoundary = nullptr;
};
6 changes: 3 additions & 3 deletions Source/RoadBuilder/Public/RoadMarking.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class ROADBUILDER_API UMarkingPoint : public URoadMarking
virtual void BuildMesh(FRoadActorBuilder& Builder);

UPROPERTY(EditAnywhere, Category = Point)
UStaticMesh* Mesh = nullptr;
TObjectPtr<UStaticMesh> Mesh = nullptr;

UPROPERTY(EditAnywhere, Category = Point)
FVector2D Point;
Expand Down Expand Up @@ -88,10 +88,10 @@ class ROADBUILDER_API UMarkingCurve : public URoadMarking
FPolyline CreatePolyline();

UPROPERTY(EditAnywhere, Category = Style, meta = (DisallowedClasses = "PolygonMarkStyle"))
UBaseMarkStyle* MarkStyle = nullptr;
TObjectPtr<UBaseMarkStyle> MarkStyle = nullptr;

UPROPERTY(EditAnywhere, Category = Style, meta = (EditCondition = "bClosedLoop"))
UPolygonMarkStyle* FillStyle = nullptr;
TObjectPtr<UPolygonMarkStyle> FillStyle = nullptr;

UPROPERTY(EditAnywhere, Category = Style, meta = (EditCondition = "bClosedLoop"))
double Orientation = 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/RoadBuilder/Public/RoadProps.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ struct FRoadProp
}

UPROPERTY(EditAnywhere, Category = Prop)
TArray<UObject*> Assets;
TArray<TObjectPtr<UObject>> Assets;

UPROPERTY(EditAnywhere, Category = Prop)
FVector Offset = FVector::ZeroVector;
Expand Down
14 changes: 7 additions & 7 deletions Source/RoadBuilder/Public/RoadScene.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ struct FJunctionLink
void CreateRoad(AJunctionActor* Parent);
void Destroy();
UPROPERTY()
ARoadActor* Road = nullptr;
TObjectPtr<ARoadActor> Road = nullptr;

UPROPERTY()
ARoadActor* InputRoad = nullptr;
TObjectPtr<ARoadActor> InputRoad = nullptr;

UPROPERTY()
ARoadActor* OutputRoad = nullptr;
TObjectPtr<ARoadActor> OutputRoad = nullptr;

UPROPERTY(EditAnywhere, Category = Link)
double Radius = 1000;
Expand Down Expand Up @@ -139,7 +139,7 @@ struct FJunctionGate
void Renew(double D, double S);

UPROPERTY()
ARoadActor* Road;
TObjectPtr<ARoadActor> Road;

UPROPERTY()
double Radian;
Expand Down Expand Up @@ -247,13 +247,13 @@ class ROADBUILDER_API ARoadScene : public AActor
#endif

UPROPERTY()
TArray<ARoadActor*> Roads;
TArray<TObjectPtr<ARoadActor>> Roads;

UPROPERTY()
TArray<AJunctionActor*> Junctions;
TArray<TObjectPtr<AJunctionActor>> Junctions;

UPROPERTY()
TArray<AGroundActor*> Grounds;
TArray<TObjectPtr<AGroundActor>> Grounds;

TOctree2<FRoadOctreeElement, FRoadOctreeSemantics> Octree;
};