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 * Michiel Hagedoorn 00008 * Side Effects Software Inc. 00009 * 477 Richmond Street West, Suite 1001 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * This module contains the data representations that are used 00015 * by the swept collision code. 00016 */ 00017 00018 #ifndef __SIM_SweptCollisionData_h__ 00019 #define __SIM_SweptCollisionData_h__ 00020 00021 #include "SIM_API.h" 00022 #include <UT/UT_Vector3.h> 00023 #include <vector> 00024 00025 struct SIM_API SIM_PositionPoint 00026 { 00027 SIM_PositionPoint() : 00028 myTuple(0, 0, 0) 00029 { 00030 } 00031 00032 explicit SIM_PositionPoint(const UT_Vector3& position) : 00033 myTuple(position) 00034 { 00035 } 00036 00037 UT_Vector3 myTuple; 00038 }; 00039 typedef std::vector<SIM_PositionPoint> SIM_PositionPoints; 00040 00041 struct SIM_API SIM_VelocityPoint 00042 { 00043 SIM_VelocityPoint() : 00044 myTuple(0, 0, 0) 00045 { 00046 } 00047 00048 explicit SIM_VelocityPoint(const UT_Vector3& position) : 00049 myTuple(position) 00050 { 00051 } 00052 00053 UT_Vector3 myTuple; 00054 }; 00055 typedef std::vector<SIM_VelocityPoint> SIM_VelocityPoints; 00056 00057 struct SIM_API SIM_Triangle 00058 { 00059 SIM_Triangle() 00060 { 00061 myPS[0] = -1; 00062 myPS[1] = -1; 00063 myPS[2] = -1; 00064 } 00065 00066 int myPS[3]; 00067 }; 00068 00069 struct SIM_API SIM_TriangleConnectivity 00070 { 00071 std::vector<SIM_Triangle> myTriangles; 00072 }; 00073 00074 #endif 00075
1.5.9