载入中...
搜索中...
未找到
SoftBodyModel.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Result.h"
6
7#include <cstdint>
8#include <string>
9#include <vector>
10
11namespace eve::physics {
12
15 float x = 0.f;
16 float y = 0.f;
17 float z = 0.f;
18};
19
22 std::uint32_t particleIndex = 0;
23};
24
27 std::vector<std::uint32_t> particleIndices;
28};
29
38 static constexpr std::uint32_t FormatVersion = 1;
39
40 std::string sourceMesh;
41 std::vector<SoftBodyModelParticle> particles;
42 std::vector<std::uint32_t> surfaceIndices;
43 std::vector<SoftBodyModelSurfaceBinding> surfaceBindings;
44 std::vector<SoftBodyModelCluster> clusters;
45
47 [[nodiscard("check cooked soft-body model")]] eve::Result<void> validate() const;
48};
49
50} // namespace eve::physics
#define EVENGINE_API_BACKENDS
Definition Export.h:108
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Optional physics backend for vehicle mobility and body attach.
Definition Climbing.h:36
An overlapping shape-matching cluster stored by particle index.
std::vector< std::uint32_t > particleIndices
A particle stored in an immutable cooked soft-body model.
A surface vertex bound directly to one cooked simulation particle.
Backend-neutral, owning result of deterministic soft-body cooking.
std::vector< std::uint32_t > surfaceIndices
std::vector< SoftBodyModelCluster > clusters
std::vector< SoftBodyModelParticle > particles
std::vector< SoftBodyModelSurfaceBinding > surfaceBindings