载入中...
搜索中...
未找到
DynamicMeshUvPaintSession.cpp
浏览该文件的文档.
13Result<void> DynamicMeshUvPaintSession::initializeResult(const MeshBuild& mesh, const image::ImageData& image) {
14 if (!validMesh(mesh)) return Result<void>::failure(Diagnostic::error(DiagnosticCode::InvalidArgument, "dynamic UV paint requires mesh UVs", "mesh", {}, "procgen.dynamicMeshUvPaint"));
23 if (!initialized_) return Result<void>::failure(Diagnostic::error(DiagnosticCode::PreconditionViolation, "dynamic UV paint is not initialized", "mesh", {}, "procgen.dynamicMeshUvPaint"));
24 if (!validMesh(mesh)) return Result<void>::failure(Diagnostic::error(DiagnosticCode::InvalidArgument, "updated dynamic mesh requires UVs", "mesh", {}, "procgen.dynamicMeshUvPaint"));
27Result<void> DynamicMeshUvPaintSession::paintSurfacePointResult(int triangleIndex, float x, float y, float z,
30 if (!initialized_) return Result<void>::failure(Diagnostic::error(DiagnosticCode::PreconditionViolation, "dynamic UV paint is not initialized", "mesh", {}, "procgen.dynamicMeshUvPaint"));
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Result< void > undoResult()
Restore the previous committed paint transaction.
Definition UvPaintSession.cpp:37
Result< std::unique_ptr< ImageData > > currentImageResult() const
Return a caller-owned current pixel snapshot.
Definition UvPaintSession.cpp:65
Result< void > initializeResult(const ImageData &image)
Initialize with an owning RGBA8 copy and clear history.
Definition UvPaintSession.cpp:11
Result< UvPaintReceipt > paintCircleResult(float u, float v, float radiusPixels, float r, float g, float b, float a, bool wrapU=false, bool wrapV=false)
Paint one circular UV brush as a single undoable transaction.
Definition UvPaintSession.cpp:21
Result< void > undoResult()
Undo the last paint transaction without changing mesh topology.
Definition DynamicMeshUvPaintSession.cpp:40
Result< void > paintSurfacePointResult(int triangleIndex, float x, float y, float z, float radiusPixels, float r, float g, float b, float a, bool wrapU=false, bool wrapV=false)
Map a triangle hit to UV and commit one canonical circular paint transaction.
Definition DynamicMeshUvPaintSession.cpp:27
Result< void > initializeResult(const MeshBuild &mesh, const image::ImageData &image)
Initialize owning mesh and RGBA8 image snapshots atomically.
Definition DynamicMeshUvPaintSession.cpp:13
Result< std::unique_ptr< image::ImageData > > currentImageResult() const
Return an owning current pixel snapshot.
Definition DynamicMeshUvPaintSession.cpp:37
Result< void > updateMeshResult(const MeshBuild &mesh)
Replace only the dynamic mesh snapshot after deformation.
Definition DynamicMeshUvPaintSession.cpp:22
CPU triangle mesh from procedural mesh recipes (e.g. marching cubes). Positions/normals are xyz-packe...
Definition MeshBuild.h:19
Definition EvpackPointGraphLoader.h:12
Result< MeshSurfaceUv > mapMeshSurfacePointToUvResult(const MeshBuild &mesh, int triangleIndex, float x, float y, float z)
Map a surface point on a dynamic-mesh triangle to its interpolated UV.
Definition MeshUvProjection.cpp:45
@ InvalidArgument
@ PreconditionViolation