Nebula
Loading...
Searching...
No Matches
streamactorpool.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10#include "core/refcounted.h"
12#include "util/stack.h"
14#include "physicsinterface.h"
15#include "flat/physics/material.h"
16#include "ids/idallocator.h"
17
18namespace Physics
19{
20
26
40
41
43{
45public:
49 virtual ~StreamActorPool();
50
52 void Setup() override;
53
55 ActorId CreateActorInstance(ActorResourceId id, Math::mat4 const & trans, ActorType type, uint64_t userData, IndexT scene = 0);
59
60
61private:
62
63
65 ResourceLoader::ResourceInitOutput InitializeResource(const ResourceLoadJob& job, const Ptr<IO::Stream>& stream) override;
67 void Unload(const Resources::ResourceId id) override;
68
69 enum
70 {
72 };
74};
75
77
78} // namespace Physics
Definition idallocator.h:128
Definition streamactorpool.h:43
void Unload(const Resources::ResourceId id) override
unload resource
Definition streamactorpool.cc:527
__DeclareClass(StreamActorPool)
Ids::IdAllocatorSafe< 0xFFF, ActorInfo > allocator
Definition streamactorpool.h:73
@ Actor_Info
Definition streamactorpool.h:71
ActorId CreateActorInstance(ActorResourceId id, Math::mat4 const &trans, ActorType type, uint64_t userData, IndexT scene=0)
Definition streamactorpool.cc:64
virtual ~StreamActorPool()
destructor
Definition streamactorpool.cc:44
void DiscardActorInstance(ActorId id)
destroys an actor, if the actor was created from a resource it also reduces use count of resource
Definition streamactorpool.cc:108
StreamActorPool()
constructor
Definition streamactorpool.cc:36
void Setup() override
setup resource loader, initiates the placeholder and error resources if valid
Definition streamactorpool.cc:53
ResourceLoader::ResourceInitOutput InitializeResource(const ResourceLoadJob &job, const Ptr< IO::Stream > &stream) override
perform actual load, override in subclass
Definition streamactorpool.cc:439
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Definition resourceloader.h:60
Nebula's dynamic array class.
Definition array.h:60
Diverse functions for manipulating physics actors.
Definition actorcontext.cc:17
StreamActorPool * actorPool
Definition streamactorpool.cc:32
ActorType
Definition physicsinterface.h:31
PhysicsIdType
Definition streamactorpool.h:22
@ ActorIdType
Definition streamactorpool.h:23
@ MeshIdType
Definition streamactorpool.h:24
A 4x4 single point precision float matrix.
Definition mat4.h:47
Definition physicsinterface.h:46
Definition streamactorpool.h:28
SizeT instanceCount
Definition streamactorpool.h:32
CollisionFeedback feedbackFlag
Definition streamactorpool.h:34
Util::Array< physx::PxShape * > shapes
Definition streamactorpool.h:29
Util::Array< float > densities
Definition streamactorpool.h:30
Util::Array< Util::String > colliders
Definition streamactorpool.h:31
uint16_t collisionGroup
Definition streamactorpool.h:33
Definition physicsinterface.h:27
Definition resourceloader.h:164
int SizeT
Definition types.h:49
int IndexT
Definition types.h:48