UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParametricSurfaceData.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "TechSoftIncludes.h"
7
9
10#include "ParametricSurfaceData.generated.h"
11
12namespace UE::CADKernel
13{
14 class FModel;
15}
16
17namespace UE::Geometry
18{
19 class FDynamicMesh3;
20}
21
22class UStaticMesh;
23struct FMeshDescription;
24
26typedef void A3DAsmModelFile;
27
28UCLASS(meta = (DisplayName = "CADKernel Parametric Surface Data"))
30{
32
33public:
34
35 virtual bool IsValid() { return CADKernelRawData.Num() > 0 || TechSoftRawData.Num() > 0; }
36
38 const FCADKernelModelParameters& GetModelParameters() const { return ModelParameters; }
39 FCADKernelModelParameters& GetModelParameters() { return ModelParameters; }
40
42 const FCADKernelMeshParameters& GetMeshParameters() const { return MeshParameters; }
43 FCADKernelMeshParameters& GetMeshParameters() { return MeshParameters; }
44
46 const FCADKernelTessellationSettings& GetLastTessellationSettings() const { return LastTessellationSettings; }
47
49
50 virtual bool SetFromFile(const TCHAR* FilePath, bool bForTechSoft = false);
51
52#if PLATFORM_DESKTOP
54
57
58 bool Tessellate(UE::Geometry::FDynamicMesh3& MeshOut);
59 bool Tessellate(FMeshDescription& MeshOut);
60
61 bool Retessellate(const FCADKernelRetessellationSettings& Settings, UE::Geometry::FDynamicMesh3& MeshOut);
62 bool Retessellate(const FCADKernelRetessellationSettings& Settings, FMeshDescription& MeshOut);
63#endif
64
65 /*
66 ** The SetRawData is only for internal use to facilitate the transition
67 ** out of UDatasmithParametricSurfaceData into the new UParametricSurfaceData class
68 */
69 virtual void SetRawData(const TArray<uint8>& InRawData, bool bForTechSoft = false)
70 {
71 TArray<uint8>& RawData = bForTechSoft ? TechSoftRawData : CADKernelRawData;
73 }
74
75protected:
76 virtual void Serialize(FArchive& Ar) override;
77
78protected:
79 UPROPERTY()
81
82 UPROPERTY()
84
85 UPROPERTY(EditAnywhere, Category = NURBS)
86 FCADKernelTessellationSettings LastTessellationSettings;
87
88 TArray<uint8> CADKernelRawData;
89 TArray<uint8> TechSoftRawData;
90};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
void A3DRiRepresentationItem
Definition ParametricSurfaceData.h:25
void A3DAsmModelFile
Definition ParametricSurfaceData.h:26
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Archive.h:1208
Definition Array.h:670
Definition SharedPointer.h:692
Definition AssetUserData.h:18
Definition DynamicMesh3.h:108
Definition ParametricSurfaceData.h:30
FCADKernelMeshParameters & GetMeshParameters()
Definition ParametricSurfaceData.h:43
const FCADKernelModelParameters & GetModelParameters() const
Definition ParametricSurfaceData.h:38
const FCADKernelTessellationSettings & GetLastTessellationSettings() const
Definition ParametricSurfaceData.h:46
FCADKernelModelParameters & GetModelParameters()
Definition ParametricSurfaceData.h:39
virtual bool IsValid()
Definition ParametricSurfaceData.h:35
void SetMeshParameters(const FCADKernelMeshParameters &InMeshParameters)
Definition ParametricSurfaceData.h:41
void SetLastTessellationSettings(const FCADKernelTessellationSettings &InTessellationSettings)
Definition ParametricSurfaceData.h:45
void SetModelParameters(const FCADKernelModelParameters &InModelParameters)
Definition ParametricSurfaceData.h:37
const FCADKernelMeshParameters & GetMeshParameters() const
Definition ParametricSurfaceData.h:42
virtual void SetRawData(const TArray< uint8 > &InRawData, bool bForTechSoft=false)
Definition ParametricSurfaceData.h:69
Definition StaticMesh.h:593
Definition CADEntity.cpp:23
Definition ParametricSurfaceData.h:18
Definition CADKernelEngineDefinitions.h:48
Definition CADKernelEngineDefinitions.h:29
Definition CADKernelEngineDefinitions.h:213
Definition CADKernelEngineDefinitions.h:72
Definition MeshDescription.h:94