aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/include/emitter/ImpactEmitterAsset.h
blob: 3038615424dc100f58353c31a62eaa611f3dc582 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.
 *
 * NVIDIA CORPORATION and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA CORPORATION is strictly prohibited.
 */


#ifndef IMPACT_EMITTER_ASSET_H
#define IMPACT_EMITTER_ASSET_H

#include "Apex.h"

namespace nvidia
{
namespace apex
{


PX_PUSH_PACK_DEFAULT

#define IMPACT_EMITTER_AUTHORING_TYPE_NAME "ImpactEmitterAsset"

class ImpactEmitterActor;

///Impact emitter asset class
class ImpactEmitterAsset : public Asset
{
protected:
	PX_INLINE ImpactEmitterAsset() {}
	virtual ~ImpactEmitterAsset() {}

public:
	/// Get the setID that corresponds to the set name \sa ImpactEmitterActor::registerImpact()
	virtual uint32_t			querySetID(const char* setName) = 0;

	/**
	\brief Get a list of the event set names.  The name index in the outSetNames list is the setID.
	\param [in,out] inOutSetNames An array of const char * with at least nameCount
	\param [in,out] nameCount The size of setNames as input and output, set to -1 if setIDs > nameCount
	*/
	virtual void				getSetNames(const char** inOutSetNames, uint32_t& nameCount) const = 0;
};

///Impact emitter asset authoring. Used to create Impact Emitter assets
class ImpactEmitterAssetAuthoring : public AssetAuthoring
{
protected:
	virtual ~ImpactEmitterAssetAuthoring() {}

public:
};


PX_POP_PACK

}
} // end namespace nvidia

#endif // IMPACT_EMITTER_ASSET_H