00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects Software Inc. 00008 * 477 Richmond Street West, Suite 1001 00009 * Toronto, Ontario 00010 * Canada M5V 3E7 00011 * 416-504-9876 00012 */ 00013 00014 #ifndef __SIM_ColliderInfo_h__ 00015 #define __SIM_ColliderInfo_h__ 00016 00017 #include "SIM_API.h" 00018 #include <UT/UT_RefArray.h> 00019 #include "SIM_Collider.h" 00020 00021 /// This class holds all the information needed by a solver to do collision 00022 /// detection for an object. 00023 class SIM_API SIM_ColliderInfo 00024 { 00025 public: 00026 SIM_ColliderInfo(); 00027 SIM_ColliderInfo(const SIM_ColliderInfo &src); 00028 SIM_ColliderInfo(SIM_Object *affector, 00029 const SIM_Collider *collider, 00030 SIM_Collider::SIM_ImpactApplyType type, 00031 int priority); 00032 ~SIM_ColliderInfo(); 00033 00034 SIM_Object *getAffector() const; 00035 const SIM_Collider *getCollider(SIM_Object *obj) const; 00036 SIM_Collider::SIM_ImpactApplyType getImpactApplyType() const; 00037 int getPriority() const; 00038 00039 const SIM_ColliderInfo &operator=(const SIM_ColliderInfo &src); 00040 00041 private: 00042 SIM_Object *myAffector; 00043 const SIM_Collider *myCollider; 00044 SIM_Collider::SIM_ImpactApplyType myImpactApplyType; 00045 int myPriority; 00046 }; 00047 00048 typedef UT_RefArray<SIM_ColliderInfo> SIM_ColliderInfoArray; 00049 00050 #endif 00051
1.5.9