UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Visu.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#ifdef CADKERNEL_DEV
5#include "Core/Parameter.h"
6#include "Core/Parameters.h"
7#endif
8
9#include "Core/Types.h"
10#include "Math/Point.h"
11
12namespace UE::CADKernel
13{
44
45extern const TCHAR* VisuPropertyNames[];
46
47class FMesh;
48
49#ifdef CADKERNEL_DEV
50
51class CADKERNEL_API FVisuParameters : public FParameters
52{
53public:
54
55 FParameter ChordError;
56
60 FParameter IsoUNumber;
61
65 FParameter IsoVNumber;
66
67 FParameter bDisplayCADOrient;
68 FParameter bDisplayMeshOrient;
69 FParameter bDisplayAxis;
70 FParameter bDisplayNormals;
71
72 FParameter NormalLength;
73
75 : FParameters(10)
76 , ChordError(TEXT("DiscretizationError"), 0.02, *this)
77 , IsoUNumber(TEXT("IsoUNumber"), 3, *this)
78 , IsoVNumber(TEXT("IsoVNumber"), 3, *this)
79 , bDisplayCADOrient(TEXT("DisplayCadOrient"), false, *this)
80 , bDisplayMeshOrient(TEXT("DisplayMeshOrient"), true, *this)
81 , bDisplayAxis(TEXT("DisplayAxis"), false, *this)
82 , bDisplayNormals(TEXT("DisplayNormals"), false, *this)
83 , NormalLength(TEXT("NormalLength"), 10., *this)
84 {}
85};
86#endif
87
89{
90protected:
91#ifdef CADKERNEL_DEV
92 FVisuParameters Parameters;
93#endif
94
99
101 {
102 ensureCADKernel(SessionNum >= 0);
103 ++SessionNum;
104 }
105
107 {
108 --SessionNum;
109 if (SessionNum < 0)
110 {
111 SessionNum = 0;
112 }
113 }
114
115public:
116
118 {
119 SessionNum = 0;
120 }
121
122 virtual ~FVisu() = default;
123
125 {
126 return EVisuProperty::Last;
127 }
128
129#ifdef CADKERNEL_DEV
130 FVisuParameters* GetParameters()
131 {
132 return &Parameters;
133 }
134#endif
135
136 virtual void NewDB(const TCHAR* InName)
137 {}
138
139 virtual void Open3DDebugSession(const TCHAR* SessionName, const TArray<FIdent>& Ids)
140 {}
141
142 virtual void Close3DDebugSession()
143 {}
144
145 virtual void Open3DDebugSegment(FIdent Ident)
146 {}
147
148 virtual void Close3DDebugSegment()
149 {}
150
151 virtual void UpdateViewer()
152 {}
153
154 virtual void DrawPoint(const FVector& Point, EVisuProperty InProperty = EVisuProperty::BluePoint)
155 {}
156
157 virtual void DrawPoint(const FVector2d& Point, EVisuProperty InProperty = EVisuProperty::BluePoint)
158 {}
159
160 virtual void DrawElement(int32 Dimension, TArray<FVector>& Points, EVisuProperty InProperty = EVisuProperty::Element)
161 {}
162
163 virtual void DrawPolyline(const TArray<FVector>& Points, EVisuProperty InProperty = EVisuProperty::BlueCurve)
164 {}
165
166 virtual void DrawPolyline(const TArray<FVector2d>& Points, EVisuProperty InProperty = EVisuProperty::BlueCurve)
167 {}
168
169 virtual void DrawMesh(FIdent MeshId)
170 {}
171};
172
173} // namespace UE::CADKernel
174
#define TEXT(x)
Definition Platform.h:1272
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 ensureCADKernel(InExpression)
Definition Types.h:115
uint32 FIdent
Definition Types.h:27
return true
Definition ExternalRpcRegistry.cpp:601
Definition Array.h:670
Definition Visu.h:89
virtual void NewDB(const TCHAR *InName)
Definition Visu.h:136
int32 SessionNum
Definition Visu.h:98
virtual void UpdateViewer()
Definition Visu.h:151
virtual void DrawPolyline(const TArray< FVector > &Points, EVisuProperty InProperty=EVisuProperty::BlueCurve)
Definition Visu.h:163
virtual void Close3DDebugSession()
Definition Visu.h:142
int32 GetPropertyCount()
Definition Visu.h:124
void EndSession()
Definition Visu.h:106
virtual void DrawPoint(const FVector &Point, EVisuProperty InProperty=EVisuProperty::BluePoint)
Definition Visu.h:154
virtual void Open3DDebugSession(const TCHAR *SessionName, const TArray< FIdent > &Ids)
Definition Visu.h:139
virtual void DrawMesh(FIdent MeshId)
Definition Visu.h:169
virtual void DrawPoint(const FVector2d &Point, EVisuProperty InProperty=EVisuProperty::BluePoint)
Definition Visu.h:157
void NewSession()
Definition Visu.h:100
virtual void Open3DDebugSegment(FIdent Ident)
Definition Visu.h:145
virtual ~FVisu()=default
virtual void DrawElement(int32 Dimension, TArray< FVector > &Points, EVisuProperty InProperty=EVisuProperty::Element)
Definition Visu.h:160
virtual void Close3DDebugSegment()
Definition Visu.h:148
virtual void DrawPolyline(const TArray< FVector2d > &Points, EVisuProperty InProperty=EVisuProperty::BlueCurve)
Definition Visu.h:166
FVisu()
Definition Visu.h:117
Definition CADEntity.cpp:23
const TCHAR * VisuPropertyNames[]
Definition Visu.cpp:7
EVisuProperty
Definition Visu.h:15
@ YellowCurve
Definition Visu.h:29
@ PurpleCurve
Definition Visu.h:35
@ PinkPoint
Definition Visu.h:38
@ RedPoint
Definition Visu.h:32
@ Element
Definition Visu.h:18
@ NodeMesh
Definition Visu.h:23
@ BluePoint
Definition Visu.h:30
@ EdgeMesh
Definition Visu.h:22
@ BorderEdge
Definition Visu.h:24
@ Curve
Definition Visu.h:19
@ OrangeCurve
Definition Visu.h:41
@ BBox
Definition Visu.h:16
@ GreenPoint
Definition Visu.h:36
@ OrangePoint
Definition Visu.h:40
@ RedCurve
Definition Visu.h:33
@ PurplePoint
Definition Visu.h:34
@ Last
Definition Visu.h:42
@ PinkCurve
Definition Visu.h:39
@ YellowPoint
Definition Visu.h:28
@ BorderTopo
Definition Visu.h:26
@ BlueCurve
Definition Visu.h:31
@ ControlLine
Definition Visu.h:21
@ NonManifoldEdge
Definition Visu.h:25
@ GreenCurve
Definition Visu.h:37
@ Iso
Definition Visu.h:20
@ Point
Definition Visu.h:17
@ ControlPoint
Definition Visu.h:27
@ false
Definition radaudio_common.h:23