APEX Framework: BasicIosAsset.h Source File

NVIDIA APEX

BasicIosAsset.h
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 BASIC_IOS_ASSET_H
00013 #define BASIC_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 BASIC_IOS_AUTHORING_TYPE_NAME "BasicIosAsset"
00026 
00030 class BasicIosAsset : public IosAsset
00031 {
00032 public:
00033 
00035     virtual float                       getParticleRadius() const = 0;
00036     
00038     virtual float                       getRestDensity() const = 0;
00039     
00041     virtual float                       getMaxInjectedParticleCount() const = 0;
00042     
00044     virtual uint32_t                    getMaxParticleCount() const = 0;
00045     
00047     virtual float                       getParticleMass() const = 0;
00048 
00049 protected:
00050     virtual ~BasicIosAsset()    {}
00051 };
00052 
00056 class BasicIosAssetAuthoring : public AssetAuthoring
00057 {
00058 public:
00059 
00061     virtual void setParticleRadius(float) = 0;
00062     
00064     virtual void setRestDensity(float) = 0;
00065     
00067     virtual void setMaxInjectedParticleCount(float count) = 0;
00068     
00070     virtual void setMaxParticleCount(uint32_t count) = 0;
00071     
00073     virtual void setParticleMass(float) = 0;
00074 
00076     virtual void setCollisionGroupName(const char* collisionGroupName) = 0;
00077     
00079     virtual void setCollisionGroupMaskName(const char* collisionGroupMaskName) = 0;
00080 
00081 protected:
00082     virtual ~BasicIosAssetAuthoring()   {}
00083 };
00084 
00085 PX_POP_PACK
00086 
00087 }
00088 } // namespace nvidia
00089 
00090 #endif // BASIC_IOS_ASSET_H

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