APEX Particles IOS Module: ParticleIosAsset.h Source File

NVIDIA APEX

ParticleIosAsset.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.
00003  *
00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
00005  * and proprietary rights in and to this software, related documentation
00006  * and any modifications thereto.  Any use, reproduction, disclosure or
00007  * distribution of this software and related documentation without an express
00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
00009  */
00010 
00011 
00012 #ifndef PARTICLE_IOS_ASSET_H
00013 #define PARTICLE_IOS_ASSET_H
00014 
00015 #include "Apex.h"
00016 #include <limits.h>
00017 
00018 namespace nvidia
00019 {
00020 namespace apex
00021 {
00022 
00023 PX_PUSH_PACK_DEFAULT
00024 
00025 #define PARTICLE_IOS_AUTHORING_TYPE_NAME "ParticleIosAsset"
00026 
00030 class ParticleIosAsset : public IosAsset
00031 {
00032 public:
00034     virtual float                       getParticleRadius() const = 0;
00035 
00037     virtual float                       getMaxInjectedParticleCount() const = 0;
00038     
00040     virtual uint32_t                    getMaxParticleCount() const = 0;
00041     
00043     virtual float                       getParticleMass() const = 0;
00044 
00045 protected:
00046     virtual ~ParticleIosAsset() {}
00047 };
00048 
00052 class ParticleIosAssetAuthoring : public AssetAuthoring
00053 {
00054 public:
00056     virtual void setParticleRadius(float) = 0;
00057 
00059     virtual void setMaxInjectedParticleCount(float count) = 0;
00060     
00062     virtual void setMaxParticleCount(uint32_t count) = 0;
00063     
00065     virtual void setParticleMass(float) = 0;
00066 
00068     virtual void setCollisionGroupName(const char* collisionGroupName) = 0;
00069     
00071     virtual void setCollisionGroupMaskName(const char* collisionGroupMaskName) = 0;
00072 
00073 protected:
00074     virtual ~ParticleIosAssetAuthoring()    {}
00075 };
00076 
00077 PX_POP_PACK
00078 
00079 }
00080 } // namespace nvidia
00081 
00082 #endif // PARTICLE_IOS_ASSET_H

Generated on Fri Dec 15 2017 13:59:24
Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.