StaticObject
StaticObject
StaticObject Class Reference
#include "TrueAxis.bi"
Inheritance diagram for StaticObject:

Description
An container for large static arbitrary polygon meshes.
Call the static function StaticObjectCreateNew to create a new instance of this class.
Static objects are designed to represent large arbitrary meshes in the physics simulation. Any object that remains static, doesn't need to react to collisions but that other objects need to collide with, should be part of a static object.
Static objects must be initialised with an object that inherits from CollisionObjectComplex. The the class CollisionObjectAABBMesh provides an implementation of CollisionObjectComplex. It is also possible to override CollisionObjectComplex, allowing the user to provide their own high level collision testing. See StaticObjectInitialise for more details.
Static objects can be added and removed from the physics simulation by calling the functions PhysicsAddStaticObject and PhysicsRemoveStaticObject.
- Note:
- It is desirable to have only a small number of static objects, rather that many small static objects. The True Axis PhysicsWrapper is not optimised for many static objects. For example, if simulating a city environment, it would be best if all the buildings, roads and other static scenery where represented by one static object.
- Data Structure:
- type StaticObject extends PhysicsObject
- ...
- end type
- Functions:
- declare function StaticObjectCreateNew() as StaticObject ptr
- declare sub StaticObjectRelease(byref pObj as StaticObject ptr)
- declare sub StaticObjectInitialise(byval pObj as const StaticObject ptr,byval pMesh as const CollisionObjectAABBMesh ptr)
- declare sub StaticObjectSetPosition(byval pObj as const StaticObject ptr,byval x as single,byval y as single,byval z as single)
- declare sub StaticObjectV3SetPosition(byval pObj as const StaticObject ptr,byref v3Position as const TA_Vec3)
- declare sub StaticObjectGetPosition(byval pObj as const StaticObject ptr, byref x as single, byref y as single, byref z as single)
- declare sub StaticObjectV3GetPosition(byval pObj as const StaticObject ptr,byref v3Position as TA_Vec3)
- declare sub StaticObjectSetRotation(byval pObj as const StaticObject ptr,byval pitch as single,byval yaw as single,byval roll as single)
- declare sub StaticObjectGetRotation(byval pObj as const StaticObject ptr,byref pitch as single,byref yaw as single,byref roll as single)
- declare function StaticObjectGetCollisionObject(byval pObj as const StaticObject ptr) as const CollisionObjectAABBMesh ptr
- declare function StaticObjectGetDynamicObject(byval pObj as const StaticObject ptr) as const DynamicObject ptr
- declare sub StaticObjectSetUserData(byval pObj as const StaticObject ptr, byval pUserData as const any ptr)
- declare function StaticObjectGetUserData(byval pObj as const StaticObject ptr) as any ptr
- declare sub StaticObjectSetVisible(byval pObj as const StaticObject ptr,byval bVisible as integer)
- declare function StaticObjectIsVisible(byval pObj as const StaticObject ptr) as integer
- declare sub StaticObjectRender(byval pObj as const StaticObject ptr)
Copyright © 2015
Created with the Freeware Edition of HelpNDoc: Easily create CHM Help documents