Yasiu Spline Meshed 1
Extension of basic spline for use with meshes.
Loading...
Searching...
No Matches
USplineMeshedComponent_ExtendedToHelix Class Reference

Modified USplineMeshedComponent that spawns meshes in helix pattern. More...

#include <SplineMeshedComponent.h>

Inheritance diagram for USplineMeshedComponent_ExtendedToHelix:
USplineMeshedComponent_Extension USplineMeshedComponent

Additional Inherited Members

Public Member Functions inherited from USplineMeshedComponent
void PlaceMeshesAlongSpline (UStaticMesh *Mesh, const FSplineMeshedSpawnParams SpawnParameters)
 Spawn meshes along spline by given params. Override if you intend to clear/set variables before spawning meshes.
void GetMeshPositonsArray (TArray< FYasiuSplineMeshParams > &OutArray, const UStaticMesh *Mesh, const FSplineMeshedSpawnParams &paramsIn) const
 Function that evaluates mesh position and tangent based on params passed in.
void OnMeshSpawn (const FVector &ForwardVec, const FVector &UpVect, const int SegmentID, const float DistanceA, const float DistanceB, USplineMeshComponent *RefMesh)
 Function that is triggered after placing each mesh with corresponding values.
int Num () const
 Current amount of meshes stored (may count invalid).
void ChangeMesh (TSoftObjectPtr< UStaticMesh > Mesh)
 Change static mesh in all Objects. (Updates only mesh's tangents).
void GetMeshes (TArray< class USplineMeshComponent * > &OutArray) const
 Returns Copy of array containing only valid SplineMesh objects.
virtual void SetMaterialsByIndex (const TArray< UMaterialInterface * > &materials)
 Applies materials from array to all meshes.
virtual void CopySplinePoints (const USplineMeshedComponent *copyFrom)
 Copy spline points and curve.
virtual void CopySplineAndMeshes (const USplineMeshedComponent *copyFrom)
 Copy spline points, curve and mesh properties.
void MakeHelix (const FSplineHelixParams &HelixParams)
 Function that changes points to helix.
void MakeSinus (const FSplineSinusParams &SinusParams)
 Function that changes points to sinus.
ASplineMeshActor * SpawnMeshStaticClone (const USplineMeshComponent *Mesh)
 Spawns static actor in world and copies spline mesh properties.
TArray< ASplineMeshActor * > CloneSplineToStaticActors ()
 clone of all meshes in spline and make them static object
void SetSmoothnessAtPoint (int keyIndex, float smoothness=1.f, float ZRotationDeg=0.f)
 Change single point to have given smoothness and rotation. Does not update actor!
void SetSmoothnessAtAllPoints (float smoothness=1.f, float ZRotationDeg=0.f)
 Change spline all points to have desired params.
void OffsetAllPoints (const FVector &RelativeOffset)
 Function used to move all spline points with given relative offset.
void Sharp ()
 Function will adjust tangents of all points to make it sharp.
void Soft ()
 Function will adjust tangents of all points to make it look smooth.
void Smooth ()
 Function will set all points type to Curve (they auto update tangents).
void ExtraCurvy ()
 Function will adjust tangents of all points to make it look extra smooth and very curvy.
void CustomTangents ()
 Function will adjust tangents of single point using TangentToolParams variable.
void CustomTangentsAllPoints ()
 Function will adjust tangents of all spline points using TangentToolParams variable.
bool DetectObjectsAlongSpline (TArray< FSplineMeshedOverlapResult > &DetectResults, FSplineDetectionTestParams DetectionParams) const
 Detection function that iterates along spline and does multiple checks. Function evaluates shape of given mesh.
void DetectionFunction (TArray< FSplineMeshedOverlapResult > &DetectedObjects, UWorld *World, const FVector &LocationIn, const FQuat &RotationIn, const FSplineDetectionTestParams &ParamsIn) const
 Detection function's body, (can be customized), used by DetectObjectsAlongSpline. By default, it detects overlaps by object type.
FVector GetSideOffset (const FVector &Fwd, const FVector &Up, float DistanceRight, float AngleDeg) const
 Calculate helix offset defined by forward Axis, Up axis and rotation Angle.
FVector VectorFrom2Points (float distanceA, float distanceB, const TEnumAsByte< ESplineCoordinateSpace::Type > &CoordSpace=ESplineCoordinateSpace::World) const
 Get normalized vector between 2 points, points are clamped to spline length.
FVector CalculateSplineUpVector (ESplineRotateMode Mode, const FVector &CurrentUp, const FVector &CurrentForward, const FVector &PrevUp, const FVector &UpParameter) const
 Function used to calculate UpVector from given vectors.
Static Public Member Functions inherited from USplineMeshedComponent
static void ApplyParamsToMesh (const FYasiuSplineMeshParams &params, USplineMeshComponent *Mesh)
 Applies all parameters from struct to SplineMesh Object, without Update. Except ForwardDirection and StaticMesh.
static void CopyMeshMaterials (const UMeshComponent *copyFrom, UMeshComponent *copyTo)
 Copy materials between meshes.
Public Attributes inherited from USplineMeshedComponent_Extension
FSplineMeshed_ExtendedParams ExtendedSpline
 Parameters used for customizing extended classes. Sinus and helix.
Public Attributes inherited from USplineMeshedComponent
FSplineSinusParams SinusToolParams {}
 Parameters to create sinus spline in editor.
FSplineHelixParams HelixToolParams {}
 Parameters to create helix spline in editor.
FSplineSmoothParams TangentToolParams {}
 Parameter used by editor commands.
Protected Attributes inherited from USplineMeshedComponent
TArray< TObjectPtr< USplineMeshComponent > > MeshesArray
 Array of created SplineMeshes.

Detailed Description

Modified USplineMeshedComponent that spawns meshes in helix pattern.


The documentation for this class was generated from the following file: