LeviLamina
Loading...
Searching...
No Matches
Rope.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/world/phys/AABB.h"
8#include "mc/world/phys/rope/RopeParams.h"
9#include "mc/world/phys/rope/RopePoints.h"
10#include "mc/world/phys/rope/rope_details/AABBPred.h"
11
12// auto generated forward declare list
13// clang-format off
14struct AABBBucket;
15struct RopeNode;
16struct RopeWave;
17// clang-format on
18
19class Rope {
20public:
21 // Rope inner types declare
22 // clang-format off
23 struct IntermediateData;
24 // clang-format on
25
26 // Rope inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 32, ::RopePoints> mQueuedRenderPoints;
32 ::ll::TypedStorage<4, 12, ::Vec3> mPrevStartPin;
33 ::ll::TypedStorage<4, 12, ::Vec3> mPrevEndPin;
34 ::ll::TypedStorage<4, 12, ::Vec3> mStartPin;
35 ::ll::TypedStorage<4, 12, ::Vec3> mEndPin;
36 ::ll::TypedStorage<8, 8, uint64> mToCutNode;
37 ::ll::TypedStorage<1, 1, bool> mAbandonCollision;
38 // NOLINTEND
39
40 public:
41 // member functions
42 // NOLINTBEGIN
44 // NOLINTEND
45
46 public:
47 // destructor thunk
48 // NOLINTBEGIN
49 MCNAPI void $dtor();
50 // NOLINTEND
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 96, ::Rope::IntermediateData> mIntermediateData;
57 ::ll::TypedStorage<8, 88, ::RopeParams> mParameters;
58 ::ll::TypedStorage<8, 32, ::RopePoints> mRenderPoints;
59 ::ll::TypedStorage<8, 24, ::std::vector<::RopeNode>> mNodes;
60 ::ll::TypedStorage<8, 24, ::std::vector<::AABBBucket>> mColliderBuckets;
61 ::ll::TypedStorage<8, 24, ::std::vector<::RopeWave>> mWaves;
62 ::ll::TypedStorage<8, 16, ::std::set<::AABB, ::RopeDetails::AABBPred>> mDenyListedColliders;
63 ::ll::TypedStorage<8, 8, uint64> mCutNode;
64 ::ll::TypedStorage<8, 8, uint64> mMinNodes;
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 Rope& operator=(Rope const&);
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCNAPI Rope();
75
76 MCNAPI Rope(::Rope const&);
77
78 MCNAPI void _finalizeBucket(::AABBBucket& bucket);
79
80 MCNAPI void _integrate();
81
82 MCNAPI void _pruneDenyList();
83
84 MCNAPI void _resize();
85
86 MCNAPI float _solveCollisions(bool checkDenyList);
87
89
91
92 MCNAPI void initializePins(::std::optional<::RopeParams> parameters);
93
95
96 MCNAPI void tick();
97
98 MCNAPI ~Rope();
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCNAPI void* $ctor();
105
106 MCNAPI void* $ctor(::Rope const&);
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCNAPI void $dtor();
113 // NOLINTEND
114};
Definition Rope.h:19
MCAPI void $dtor()
MCAPI void _resize()
MCAPI void tick()
MCAPI float _solveCollisions(bool checkDenyList)
MCAPI float _solveDistanceConstraints1()
MCAPI void _pruneDenyList()
MCAPI float _solveDistanceConstraints3()
MCAPI void prepareAABBBucketsForNextFrame()
MCAPI void _finalizeBucket(::AABBBucket &bucket)
MCAPI void * $ctor()
MCAPI void * $ctor(::Rope const &)
MCAPI ~Rope()
MCAPI Rope(::Rope const &)
MCAPI void initializePins(::std::optional<::RopeParams > parameters)
MCAPI void _integrate()
MCAPI Rope()
Definition AABBBucket.h:13
Definition RopeNode.h:8
Definition RopeWave.h:8
Definition Rope.h:27