class
cGameViewManager
Contents
Base classes
 class Graphics::IRenderable
 This interface defines an object that can be rendered, and whose render method is called on every game loop.
 class App::IMessageListener
 An interface that can receive messages sent through the app.
 class cStrategy
Public static variables
 static const uint32_t GraphicsWorldID
 The ID used for the Simulator model world, effects world.
 static const uint32_t LightingWorldID
 The ID used for the Simulator lighting world, effects world.
Public static functions
 static auto Get() > cGameViewManager*
 Gets the active game view manager.
Public functions
 void func10h_() virtual
 void PrepareSimulator() virtual
 void func18h_() virtual
 void func1Ch_() virtual
 void func20h_() virtual
 void func24h_() virtual
 void func28h_() virtual
 void func2Ch_() virtual
 void func30h_(long nEllapsedMilliseconds) virtual
 auto func34h_() > int virtual
 auto func38h_(int, struct Vector3) > Vector3 virtual
 auto func3Ch_(int) > Vector3 virtual
 auto GetWorldMousePosition(int = 0, cCombatant* pCombanant = nullptr) > Vector3 virtual
 void func44h_() virtual

auto IntersectSphere(const Vector3& center,
float radius,
vector<cSpatialObjectPtr>& dst,
bool useModelCollisionMode = false,
Graphics::
ModelPredicate_t filter = nullptr, void* filterObject = nullptr) > bool virtual  Finds all the cSpatialObject objects that intersect with the sphere with
center
andradius
.  auto RaycastAll(const Vector3& point1, const Vector3& point2, vector<cSpatialObjectPtr>& dst, bool useModelCollisionMode = false) > bool virtual
 Finds all the cSpatialObject objects that intersect with the segment between
point1
andpoint2
. 
auto Raycast(const Vector3& point1,
const Vector3& point2,
Graphics::
FilterSettings:: filter, cGameDataPtr& dst, Vector3& dstIntersection, bool useModelCollisionMode = false) > bool virtualFilterModel_t  Finds the first cGameData object that intersects with the segment between
point1
andpoint2
.
Protected variables
 intrusive_list<int> field_24
 fixed_vector<ModelPtr, 16> mGrassTrampModels
 uint32_t mGameModeID
 intrusive_ptr<Object> field_88
 hash_map<int, int> field_8C
 vector<int> field_AC
 bool field_C0
 bool field_C1
 intrusive_ptr<int> field_C4
 map<int, int> field_C8
 IModelWorldPtr field_E4
 intrusive_ptr<Object> field_E8

App::
cViewer * field_EC  int field_F0
 int field_F4
 int field_F8
 int field_FC
 int field_100
 int field_104
 IAnimWorldPtr mpCreatureFXAnimWorld
 bool mbSuperHighResVehicles
 bool mbSuperHighResIgnoreCount
 bool mbSuperHighResBuildings
 fixed_vector<int, 32> field_110
Function documentation
bool Simulator::cGameViewManager:: IntersectSphere(const Vector3& center,
float radius,
vector<cSpatialObjectPtr>& dst,
bool useModelCollisionMode = false,
Graphics::ModelPredicate_t filter = nullptr,
void* filterObject = nullptr) virtual
Finds all the cSpatialObject objects that intersect with the sphere with center
and radius
.
Parameters  

center  The center of the sphere. 
radius  The radius of the sphere. 
dst out  The vector where all objects will be added. 
useModelCollisionMode  If true, the collision mode specified by each model will be used. 
filter  An optional filter function that decides which models are considered. 
filterObject  An object that is passed to the filter function. 
Returns  true if any object was found, false otherwise. 
The objects will be added to dst
. filter
is an optional filter function that receives a Model and filterObject
, and returns whether the model is considered or not.
The collision is only checked with the bounding box, so it is not a precise model collision. If the useModelCollisionMode
param is true, then the collision mode specified by each model will be used.
bool Simulator::cGameViewManager:: RaycastAll(const Vector3& point1,
const Vector3& point2,
vector<cSpatialObjectPtr>& dst,
bool useModelCollisionMode = false) virtual
Finds all the cSpatialObject objects that intersect with the segment between point1
and point2
.
Parameters  

point1  The start point of the ray. 
point2  The end point of the ray. 
dst out  The vector where all objects will be added. 
useModelCollisionMode  If true, the collision mode specified by each model will be used. 
Returns  true if any object was found, false otherwise. 
The objects will be added to dst
in the order they have been found, so the ones closest to point1
come first.
The collision is only checked with the bounding box, so it is not a precise model collision. If the useModelCollisionMode
param is true, then the collision mode specified by each model will be used.
bool Simulator::cGameViewManager:: Raycast(const Vector3& point1,
const Vector3& point2,
Graphics::FilterSettings::FilterModel_t filter,
cGameDataPtr& dst,
Vector3& dstIntersection,
bool useModelCollisionMode = false) virtual
Finds the first cGameData object that intersects with the segment between point1
and point2
.
Parameters  

point1  The start point of the ray. 
point2  The end point of the ray. 
filter  A filter function that receives a Model and returns whether it is considered or not. 
dst out  The object that is found, only valid if true was returned. 
dstIntersection out  The point where the ray intersected with the model, only valid if true was returned. 
useModelCollisionMode  If true, the collision mode specified by each model will be used. 
Returns  true if an object was found, false otherwise. 
Only models that pass the filter function are considered.
The collision is only checked with the bounding box, so it is not a precise model collision. If the useModelCollisionMode
param is true, then the collision mode specified by each model will be used.