![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /* 00006 * Copyright 2010 Autodesk, Inc. All rights reserved. 00007 * Use of this software is subject to the terms of the Autodesk license agreement provided at the time of installation or download, 00008 * or which otherwise accompanies this software in either electronic or hard copy form. 00009 */ 00010 00011 #pragma once 00012 00013 #include <bhaveSim/bhaveSpawnManager.h> 00014 00015 #include <kypathdata/generic/types.h> 00016 00017 namespace BHAVE 00018 { 00019 00039 class DtBhaveSpawnQuery 00040 { 00041 public: 00043 DtBhaveSpawnQuery(); 00044 00046 ~DtBhaveSpawnQuery(); 00047 00050 void Reset(); 00051 00053 00058 bool SetDatabase(Kaim::World& world, const char* databaseName); 00059 00065 bool SetMinDistance(KyFloat32 value); 00066 00072 KyFloat32 GetMinDistance() const {return m_minDistance;} 00073 00078 bool SetControlVolume(Kaim::IVolume* newControlVolume); 00079 00081 Kaim::IVolume* GetControlVolume() {return m_controlVolume;} 00082 00093 bool SetSpawnVolumes(Kaim::IVolume** spawnVolumes, KyUInt32 spawnVolumeCount); 00094 00097 bool ResetSpawnVolumes(); 00098 00099 void SetSoilTypeFilter(KyUInt32 SoilTypeFilter) {mySoilTypeFilter = SoilTypeFilter;} 00100 KyUInt32 GetSoilTypeFilter() {return mySoilTypeFilter;} 00101 00103 00110 bool SetResultBuffer(Kaim::Vec3f* buffer, KyUInt32 capacity); 00111 00114 KyUInt32 GetResultCount() {return m_result_count;} 00115 00116 void Render(); 00117 00118 00119 00120 public: 00122 Kaim::Database* m_database; 00123 Kaim::IVolume* m_controlVolume; 00124 Kaim::IVolume** m_spawnVolumes; 00125 KyUInt32 m_spawnVolumeArraySize; 00126 KyFloat32 m_minDistance; 00128 00129 Kaim::Vec3f* m_result_buffer; 00130 KyUInt32 m_result_capacity; 00131 KyUInt32 m_result_count; 00133 KyUInt32 mySoilTypeFilter; 00134 00136 Kaim::ObstacleTypeMask m_obstaclesToAvoid; 00137 }; 00138 00139 } 00140