#include <RuntimeMeshBuilder.h>
Public Member Functions | |
int32 | AddVertex (FVector InPosition) |
int32 | AddVertex (const FRuntimeMeshAccessorVertex &Vertex) |
template<typename VertexType0 > | |
void | AddVertexByProperties (const VertexType0 &Vertex0) |
template<typename VertexType0 , typename VertexType1 > | |
void | AddVertexByProperties (const VertexType0 &Vertex0, const VertexType1 &Vertex1) |
template<typename VertexType0 , typename VertexType1 , typename VertexType2 > | |
void | AddVertexByProperties (const VertexType0 &Vertex0, const VertexType1 &Vertex1, const VertexType2 &Vertex2) |
void | EmptyVertices (int32 Slack=0) |
FRuntimeMeshVerticesAccessor (bool bInTangentsHighPrecision, bool bInUVsHighPrecision, int32 bInUVCount, TArray< uint8 > *PositionStreamData, TArray< uint8 > *TangentStreamData, TArray< uint8 > *UVStreamData, TArray< uint8 > *ColorStreamData, bool bInIsReadonly=false) | |
FColor | GetColor (int32 Index) const |
FVector4 | GetNormal (int32 Index) const |
FVector | GetPosition (int32 Index) const |
FVector | GetTangent (int32 Index) const |
FVector2D | GetUV (int32 Index, int32 Channel=0) const |
FRuntimeMeshAccessorVertex | GetVertex (int32 Index) const |
const bool | IsReadonly () const |
const bool | IsUsingHighPrecisionTangents () const |
const bool | IsUsingHighPrecisionUVs () const |
int32 | NumUVChannels () const |
int32 | NumVertices () const |
void | SetColor (int32 Index, const FColor &Value) |
bool | SetColors (const int32 InsertAtIndex, const TArray< FColor > &Colors, const int32 Count, const bool bSizeToFit) |
bool | SetColors (const int32 InsertAtIndex, const FColor *const Colors, const int32 Count, const bool bSizeToFit) |
void | SetNormal (int32 Index, const FVector4 &Value) |
void | SetNormalTangent (int32 Index, FVector Normal, FRuntimeMeshTangent Tangent) |
void | SetNumVertices (int32 NewNum) |
void | SetPosition (int32 Index, const FVector &Value) |
bool | SetPositions (const int32 InsertAtIndex, const TArray< FVector > &Positions, const int32 Count, const bool bSizeToFit) |
bool | SetPositions (const int32 InsertAtIndex, const FVector *const Positions, const int32 Count, const bool bSizeToFit) |
void | SetTangent (int32 Index, const FVector &Value) |
void | SetTangent (int32 Index, const FRuntimeMeshTangent &Value) |
void | SetTangents (int32 Index, FVector TangentX, FVector TangentY, FVector TangentZ) |
void | SetUV (int32 Index, const FVector2D &Value) |
void | SetUV (int32 Index, int32 Channel, const FVector2D &Value) |
bool | SetUVs (const int32 InsertAtVertexIndex, const TArray< FVector2D > &UVs, const int32 CountVertices, const bool bSizeToFit) |
bool | SetUVs (const int32 InsertAtVertexIndex, const TArray< FVector2DHalf > &UVs, const int32 CountVertices, const bool bSizeToFit) |
bool | SetUVs (const int32 InsertAtVertexIndex, const FVector2D *const UVs, const int32 CountVertices, const bool bSizeToFit) |
bool | SetUVs (const int32 InsertAtVertexIndex, const FVector2DHalf *const UVs, const int32 CountVertices, const bool bSizeToFit) |
void | SetVertex (int32 Index, const FRuntimeMeshAccessorVertex &Vertex) |
template<typename VertexType > | |
void | SetVertexProperties (int32 Index, const VertexType &Vertex) |
virtual | ~FRuntimeMeshVerticesAccessor () |
Protected Member Functions | |
int32 | AddSingleVertex () |
FRuntimeMeshVerticesAccessor (TArray< uint8 > *PositionStreamData, TArray< uint8 > *TangentStreamData, TArray< uint8 > *UVStreamData, TArray< uint8 > *ColorStreamData, bool bInIsReadonly) | |
void | Initialize (bool bInTangentsHighPrecision, bool bInUVsHighPrecision, int32 bInUVCount) |
void | Unlink () |
Private Member Functions | |
template<typename Type > | |
FVector4 | ConvertPackedToNormal (const Type &Input) |
template<> | |
FVector4 | ConvertPackedToNormal (const FVector4 &Input) |
template<typename Type > | |
FVector | ConvertPackedToTangent (const Type &Input) |
template<> | |
FVector | ConvertPackedToTangent (const FVector &Input) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasColor >::Type | SetColorValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasColor >::Type | SetColorValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasNormal >::Type | SetNormalValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasNormal >::Type | SetNormalValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasPosition >::Type | SetPositionValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasPosition >::Type | SetPositionValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasTangent >::Type | SetTangentValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasTangent >::Type | SetTangentValue (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV0 >::Type | SetUV0Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV0 >::Type | SetUV0Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV1 >::Type | SetUV1Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV1 >::Type | SetUV1Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV2 >::Type | SetUV2Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV2 >::Type | SetUV2Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV3 >::Type | SetUV3Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV3 >::Type | SetUV3Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV4 >::Type | SetUV4Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV4 >::Type | SetUV4Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV5 >::Type | SetUV5Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV5 >::Type | SetUV5Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV6 >::Type | SetUV6Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV6 >::Type | SetUV6Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf< FRuntimeMeshVertexTraits< Type >::HasUV7 >::Type | SetUV7Value (int32 Index, const Type &Vertex) |
template<typename Type > | |
TEnableIf<!FRuntimeMeshVertexTraits< Type >::HasUV7 >::Type | SetUV7Value (int32 Index, const Type &Vertex) |
Private Attributes | |
bool | bIsInitialized |
bool | bIsReadonly |
const bool | bTangentHighPrecision |
const bool | bUVHighPrecision |
TArray< uint8 > * | ColorStream |
TArray< uint8 > * | PositionStream |
const int32 | TangentSize |
TArray< uint8 > * | TangentStream |
const int32 | TangentStride |
const int32 | UVChannelCount |
const int32 | UVSize |
TArray< uint8 > * | UVStream |
const int32 | UVStride |
Static Private Attributes | |
static const int32 | ColorStride = 4 |
static const int32 | PositionStride = 12 |
Definition at line 25 of file RuntimeMeshBuilder.h.
FRuntimeMeshVerticesAccessor::FRuntimeMeshVerticesAccessor | ( | bool | bInTangentsHighPrecision, |
bool | bInUVsHighPrecision, | ||
int32 | bInUVCount, | ||
TArray< uint8 > * | PositionStreamData, | ||
TArray< uint8 > * | TangentStreamData, | ||
TArray< uint8 > * | UVStreamData, | ||
TArray< uint8 > * | ColorStreamData, | ||
bool | bInIsReadonly = false |
||
) |
Definition at line 44 of file RuntimeMeshBuilder.cpp.
|
virtual |
Definition at line 56 of file RuntimeMeshBuilder.cpp.
|
protected |
Definition at line 34 of file RuntimeMeshBuilder.cpp.
|
protected |
Definition at line 540 of file RuntimeMeshBuilder.cpp.
int32 FRuntimeMeshVerticesAccessor::AddVertex | ( | FVector | InPosition | ) |
Definition at line 106 of file RuntimeMeshBuilder.cpp.
int32 FRuntimeMeshVerticesAccessor::AddVertex | ( | const FRuntimeMeshAccessorVertex & | Vertex | ) |
Definition at line 529 of file RuntimeMeshBuilder.cpp.
|
inline |
Definition at line 333 of file RuntimeMeshBuilder.h.
|
inline |
Definition at line 340 of file RuntimeMeshBuilder.h.
|
inline |
Definition at line 348 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 131 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 374 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 141 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 379 of file RuntimeMeshBuilder.h.
void FRuntimeMeshVerticesAccessor::EmptyVertices | ( | int32 | Slack = 0 | ) |
Definition at line 86 of file RuntimeMeshBuilder.cpp.
FColor FRuntimeMeshVerticesAccessor::GetColor | ( | int32 | Index | ) | const |
Definition at line 165 of file RuntimeMeshBuilder.cpp.
FVector4 FRuntimeMeshVerticesAccessor::GetNormal | ( | int32 | Index | ) | const |
Definition at line 123 of file RuntimeMeshBuilder.cpp.
FVector FRuntimeMeshVerticesAccessor::GetPosition | ( | int32 | Index | ) | const |
Definition at line 117 of file RuntimeMeshBuilder.cpp.
FVector FRuntimeMeshVerticesAccessor::GetTangent | ( | int32 | Index | ) | const |
Definition at line 144 of file RuntimeMeshBuilder.cpp.
FVector2D FRuntimeMeshVerticesAccessor::GetUV | ( | int32 | Index, |
int32 | Channel = 0 |
||
) | const |
Definition at line 171 of file RuntimeMeshBuilder.cpp.
FRuntimeMeshAccessorVertex FRuntimeMeshVerticesAccessor::GetVertex | ( | int32 | Index | ) | const |
Definition at line 436 of file RuntimeMeshBuilder.cpp.
|
protected |
Definition at line 60 of file RuntimeMeshBuilder.cpp.
|
inline |
Definition at line 58 of file RuntimeMeshBuilder.h.
|
inline |
Definition at line 55 of file RuntimeMeshBuilder.h.
|
inline |
Definition at line 56 of file RuntimeMeshBuilder.h.
int32 FRuntimeMeshVerticesAccessor::NumUVChannels | ( | ) | const |
Definition at line 80 of file RuntimeMeshBuilder.cpp.
int32 FRuntimeMeshVerticesAccessor::NumVertices | ( | ) | const |
Definition at line 73 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetColor | ( | int32 | Index, |
const FColor & | Value | ||
) |
Definition at line 275 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetColors | ( | const int32 | InsertAtIndex, |
const TArray< FColor > & | Colors, | ||
const int32 | Count, | ||
const bool | bSizeToFit | ||
) |
Definition at line 282 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetColors | ( | const int32 | InsertAtIndex, |
const FColor *const | Colors, | ||
const int32 | Count, | ||
const bool | bSizeToFit | ||
) |
Definition at line 288 of file RuntimeMeshBuilder.cpp.
|
inlineprivate |
Definition at line 191 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 198 of file RuntimeMeshBuilder.h.
void FRuntimeMeshVerticesAccessor::SetNormal | ( | int32 | Index, |
const FVector4 & | Value | ||
) |
Definition at line 217 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetNormalTangent | ( | int32 | Index, |
FVector | Normal, | ||
FRuntimeMeshTangent | Tangent | ||
) |
Definition at line 396 of file RuntimeMeshBuilder.cpp.
|
inlineprivate |
Definition at line 165 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 172 of file RuntimeMeshBuilder.h.
void FRuntimeMeshVerticesAccessor::SetNumVertices | ( | int32 | NewNum | ) |
Definition at line 96 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetPosition | ( | int32 | Index, |
const FVector & | Value | ||
) |
Definition at line 185 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetPositions | ( | const int32 | InsertAtIndex, |
const TArray< FVector > & | Positions, | ||
const int32 | Count, | ||
const bool | bSizeToFit | ||
) |
Definition at line 191 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetPositions | ( | const int32 | InsertAtIndex, |
const FVector *const | Positions, | ||
const int32 | Count, | ||
const bool | bSizeToFit | ||
) |
Definition at line 197 of file RuntimeMeshBuilder.cpp.
|
inlineprivate |
Definition at line 152 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 159 of file RuntimeMeshBuilder.h.
void FRuntimeMeshVerticesAccessor::SetTangent | ( | int32 | Index, |
const FVector & | Value | ||
) |
Definition at line 231 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetTangent | ( | int32 | Index, |
const FRuntimeMeshTangent & | Value | ||
) |
Definition at line 245 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetTangents | ( | int32 | Index, |
FVector | TangentX, | ||
FVector | TangentY, | ||
FVector | TangentZ | ||
) |
Definition at line 414 of file RuntimeMeshBuilder.cpp.
|
inlineprivate |
Definition at line 178 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 185 of file RuntimeMeshBuilder.h.
void FRuntimeMeshVerticesAccessor::SetUV | ( | int32 | Index, |
const FVector2D & | Value | ||
) |
Definition at line 308 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetUV | ( | int32 | Index, |
int32 | Channel, | ||
const FVector2D & | Value | ||
) |
Definition at line 323 of file RuntimeMeshBuilder.cpp.
|
inlineprivate |
Definition at line 207 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 214 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 220 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 227 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 233 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 240 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 246 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 253 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 259 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 266 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 272 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 279 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 285 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 292 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 298 of file RuntimeMeshBuilder.h.
|
inlineprivate |
Definition at line 305 of file RuntimeMeshBuilder.h.
bool FRuntimeMeshVerticesAccessor::SetUVs | ( | const int32 | InsertAtVertexIndex, |
const TArray< FVector2D > & | UVs, | ||
const int32 | CountVertices, | ||
const bool | bSizeToFit | ||
) |
UV arrangement for 3 uv channels: UVs[0]: vertex 0:uvChannel[0] UVs[1]: vertex 0:uvChannel[1] UVs[2]: vertex 0:uvChannel[2] UVs[3]: vertex 1:uvChannel[0] UVs[4]: vertex 1:uvChannel[1] UVs[5]: vertex 1:uvChannel[2] UVs[6]: vertex 2:uvChannel[0] ...
CountVertices | The number of vertices you want to add UV data for! |
Definition at line 338 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetUVs | ( | const int32 | InsertAtVertexIndex, |
const TArray< FVector2DHalf > & | UVs, | ||
const int32 | CountVertices, | ||
const bool | bSizeToFit | ||
) |
Definition at line 346 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetUVs | ( | const int32 | InsertAtVertexIndex, |
const FVector2D *const | UVs, | ||
const int32 | CountVertices, | ||
const bool | bSizeToFit | ||
) |
UV arrangement for 3 uv channels: UVs[0]: vertex 0:uvChannel[0] UVs[1]: vertex 0:uvChannel[1] UVs[2]: vertex 0:uvChannel[2] UVs[3]: vertex 1:uvChannel[0] UVs[4]: vertex 1:uvChannel[1] UVs[5]: vertex 1:uvChannel[2] UVs[6]: vertex 2:uvChannel[0] ...
UVs | Must point to the start of the uv data for a vertex! |
CountVertices | The number of vertices you want to add UV data for! |
Definition at line 354 of file RuntimeMeshBuilder.cpp.
bool FRuntimeMeshVerticesAccessor::SetUVs | ( | const int32 | InsertAtVertexIndex, |
const FVector2DHalf *const | UVs, | ||
const int32 | CountVertices, | ||
const bool | bSizeToFit | ||
) |
Definition at line 375 of file RuntimeMeshBuilder.cpp.
void FRuntimeMeshVerticesAccessor::SetVertex | ( | int32 | Index, |
const FRuntimeMeshAccessorVertex & | Vertex | ||
) |
Definition at line 489 of file RuntimeMeshBuilder.cpp.
|
inline |
Definition at line 315 of file RuntimeMeshBuilder.h.
|
inlineprotected |
Definition at line 359 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 27 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 28 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 32 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 36 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 40 of file RuntimeMeshBuilder.h.
|
staticprivate |
Definition at line 41 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 29 of file RuntimeMeshBuilder.h.
|
staticprivate |
Definition at line 30 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 33 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 31 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 34 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 37 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 38 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 35 of file RuntimeMeshBuilder.h.
|
private |
Definition at line 39 of file RuntimeMeshBuilder.h.