![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <StairGenerator.h>
Inheritance diagram for UE::Geometry::FCurvedStairGenerator:Public Attributes | |
| float | InnerRadius = 150.0f |
| float | CurveAngle = 90.0f |
Public Attributes inherited from UE::Geometry::FStairGenerator | |
| bool | bScaleUVByAspectRatio = true |
| bool | bPolygroupPerQuad = false |
| float | StepWidth = 150.0f |
| float | StepHeight = 20.0f |
| int | NumSteps = 8 |
Public Attributes inherited from UE::Geometry::FMeshShapeGenerator | |
| TArray< FVector3d > | Vertices |
| TArray< FVector2f > | UVs |
| TArray< int > | UVParentVertex |
| TArray< FVector3f > | Normals |
| TArray< int > | NormalParentVertex |
| TArray< FIndex3i > | Triangles |
| TArray< FIndex3i > | TriangleUVs |
| TArray< FIndex3i > | TriangleNormals |
| TArray< int > | TrianglePolygonIDs |
| bool | bReverseOrientation = false |
Protected Types | |
| typedef FStairGenerator | Super |
Protected Types inherited from UE::Geometry::FStairGenerator | |
| enum class | EStairStyle { Solid , Floating } |
Protected Member Functions | |
| virtual GEOMETRYCORE_API void | ResetData () override |
| virtual GEOMETRYCORE_API FVector3d | GenerateVertex (ESide Side, int VertexColumn, int VertexRow) override |
| virtual GEOMETRYCORE_API FVector3f | GenerateNormal (ESide Side, int VertexId) override |
| virtual GEOMETRYCORE_API FVector2f | GenerateUV (ESide Side, int Step, int VertexId, float UVScale) override |
| virtual GEOMETRYCORE_API float | GetMaxDimension () override |
Protected Attributes | |
| bool | bIsClockwise = true |
| float | CurveRadians = 0.0f |
| float | CurveRadiansPerStep = 0.0f |
| float | OuterRadius = 0.0f |
| float | RadiusRatio = 1.0f |
| FVector3f | BackNormal = FVector3f::Zero() |
Protected Attributes inherited from UE::Geometry::FStairGenerator | |
| EStairStyle | StairStyle = EStairStyle::Solid |
| TArray< TArray< int > > | VertexIds |
| TArray< FIndex2i > | VertexIdsToColumnRow |
| TArray< int > | FaceDesc |
| TArray< int > | NormalDesc |
| TArray< int > | UVDesc |
| int | NumQuadsPerSide = 0 |
| int | NumQuads = 0 |
| int | NumVertsPerSide = 0 |
| int | NumVerts = 0 |
| int | NumAttrs = 0 |
| int | RightSideColumnId = 0 |
| int | LeftSideColumnId = 0 |
| int | RightStartFaceId = 0 |
| int | LeftStartFaceId = 0 |
| int | FrontStartFaceId = 0 |
| int | TopStartFaceId = 0 |
| int | BackStartFaceId = 0 |
| int | BottomStartFaceId = 0 |
| int | LastFaceId = 0 |
Additional Inherited Members | |
Public Types inherited from UE::Geometry::FStairGenerator | |
| enum class | ESide { Right , Left , Front , Top , Back , Bottom } |
Static Public Member Functions inherited from UE::Geometry::FMeshShapeGenerator | |
| static FVector3d | BilinearInterp (const FVector3d &v00, const FVector3d &v10, const FVector3d &v11, const FVector3d &v01, double tx, double ty) |
| static FVector2d | BilinearInterp (const FVector2d &v00, const FVector2d &v10, const FVector2d &v11, const FVector2d &v01, double tx, double ty) |
| static FVector2f | BilinearInterp (const FVector2f &v00, const FVector2f &v10, const FVector2f &v11, const FVector2f &v01, float tx, float ty) |
| static FVector3i | LinearInterp (const FVector3i &a, const FVector3i &b, double t) |
Generate an oriented Curved Stair mesh.
|
inline |
|
inlineoverridevirtual |
|
overrideprotectedvirtual |
Returns a vertex normal vector.
All normals for a given side are shared except for Front & Top. Border vertex normals per side are not shared.
| Side | The side of the stairs to compute the normal. |
| VertexId | The vertex index to compute the normal. |
Implements UE::Geometry::FStairGenerator.
|
overrideprotectedvirtual |
Returns a UV vector.
The Step parameter provides the Side-relative face. This indicates which face for a given side is computing its UV.
All UVs for a given side are shared except for Front & Top. Border edges along each side are UV island edges.
| Side | The side of the stairs to compute the UV. |
| Step | The Side-relative step face ID. |
| VertexId | The vertex index to compute the UV. |
| UVScale | The UV scale |
Implements UE::Geometry::FStairGenerator.
Reimplemented in UE::Geometry::FSpiralStairGenerator.
|
overrideprotectedvirtual |
Returns a vertex position.
The method is provided the Right or Left side and the corresponding vertex column/row index to compute. Column and row indices refer to the matrix-like ordered vertex layout. See diagram in GenerateSolidStairs() / GenerateFloatingStairs().
This generator only generates vertices for the Right & Left Sides of the stairs.
Mesh count protected variables are the only transient variables guaranteed to be valid at the time GenerateVertex is invoked.
| Side | The Right or Left side of the stairs. |
| VertexColumn | The column index into the stair vertex layout. |
| VertexRow | The row index into the stair vertex layout. |
Implements UE::Geometry::FStairGenerator.
Reimplemented in UE::Geometry::FSpiralStairGenerator.
|
overrideprotectedvirtual |
Returns the max dimension of the staircase for the purposes of computing the world UV scale.
Implements UE::Geometry::FStairGenerator.
|
overrideprotectedvirtual |
Reimplemented from UE::Geometry::FStairGenerator.
|
protected |
| float UE::Geometry::FCurvedStairGenerator::CurveAngle = 90.0f |
Curve angle of the staircase (in degrees)
|
protected |
|
protected |
| float UE::Geometry::FCurvedStairGenerator::InnerRadius = 150.0f |
Inner radius of the curved staircase
|
protected |
|
protected |