1#pragma once
2
3#include <math/seadQuat.h>
4#include <math/seadVector.h>
5
6namespace al {
7struct ActorInitInfo;
8class CollisionParts;
9class LiveActor;
10class MtxConnector;
11
12MtxConnector* createMtxConnector(const LiveActor* actor);
13MtxConnector* tryCreateMtxConnector(const LiveActor* actor, const ActorInitInfo& info);
14void attachMtxConnectorToCollision(MtxConnector* mtxConnector, const LiveActor* actor, bool);
15void attachMtxConnectorToCollision(MtxConnector* mtxConnector, const LiveActor* actor,
16 const sead::Vector3f&, const sead::Vector3f&);
17CollisionParts* attachMtxConnectorToCollision(MtxConnector* mtxConnector, const LiveActor* actor,
18 f32, f32);
19void connectPoseQT(LiveActor* actor, const MtxConnector* mtxConnector, const sead::Quatf& quat,
20 const sead::Vector3f& trans);
21void connectPoseQT(LiveActor* actor, const MtxConnector* mtxConnector);
22void attachMtxConnectorToJoint(MtxConnector* mtxConnector, const LiveActor* actor,
23 const char* jointName);
24void attachMtxConnectorToJoint(MtxConnector* mtxConnector, const LiveActor* actor,
25 const char* jointName, const sead::Vector3f& quatInitVec,
26 const sead::Vector3f& trans);
27void disconnectMtxConnector(MtxConnector* mtxConnector);
28bool isMtxConnectorConnecting(const MtxConnector* mtxConnector);
29} // namespace al
30