Gorilla.Audio.FMOD.Intf.Geometry

Unit Gorilla.Audio.FMOD.Intf.Geometry.pas

IGorillaFMODGeometry

Wrapper record structure for geometry instances.

Methods

public function GetUserData  ( )  : Pointer ;  abstract virtual;
public procedure SetUserData  ( const  AValue :  Pointer ) ;  abstract virtual;
public function GetActive  ( )  : LongBool ;  abstract virtual;
public procedure SetActive  ( const  AValue :  LongBool ) ;  abstract virtual;
public function GetRotation  ( )  : TGorillaFMODOrientation ;  abstract virtual;
public procedure SetRotation  ( const  AValue :  TGorillaFMODOrientation ) ;  abstract virtual;
public function GetPosition  ( )  : TPoint3D ;  abstract virtual;
public procedure SetPosition  ( const  AValue :  TPoint3D ) ;  abstract virtual;
public function GetScale  ( )  : TPoint3D ;  abstract virtual;
public procedure SetScale  ( const  AValue :  TPoint3D ) ;  abstract virtual;
public function GetNumPolygons  ( )  : Integer ;  abstract virtual;
public function GetMaxPolygons  ( )  : TGorillaFMODMaxPolygons ;  abstract virtual;
public function GetPolygonAttributes  ( AIndex :  Integer )  : TGorillaFMODPolygonAttributes ;  abstract virtual;
public procedure SetPolygonAttributes  ( AIndex :  Integer; const  AValue :  TGorillaFMODPolygonAttributes ) ;  abstract virtual;
public procedure AddPolygon  ( const  APolygon :  TGorillaFMODPolygon ) ;  abstract virtual;

Adds a polygon to an existing geometry object.

public function GetPolygonNumVertices  ( AIndex :  Integer )  : Integer ;  abstract virtual;

Gets the number of vertices in a polygon which is part of the geometry object.

Parameters

  • AIndex :  Integer  -  Polygon index. This must be in the range of 0 to Geometry::getNumPolygons minus 1.
public procedure SetPolygonVertex  ( AIndex :  Integer; AVertexIndex :  Integer; const  AVertex :  TPoint3D ) ;  abstract virtual;

Alters the position of a polygon's vertex inside a geometry object.

Parameters

  • AIndex :  Integer  -  Polygon index. This must be in the range of 0 to Geometry::getNumPolygons minus 1. Vertex index inside the polygon. This must be in the range of 0 to Geometry::getPolygonNumVertices minus 1. Address of an FMOD_VECTOR which holds the new vertex location.
  • AVertexIndex :  Integer  -  Polygon index. This must be in the range of 0 to Geometry::getNumPolygons minus 1. Vertex index inside the polygon. This must be in the range of 0 to Geometry::getPolygonNumVertices minus 1. Address of an FMOD_VECTOR which holds the new vertex location.
  • const  AVertex :  TPoint3D  -  Polygon index. This must be in the range of 0 to Geometry::getNumPolygons minus 1. Vertex index inside the polygon. This must be in the range of 0 to Geometry::getPolygonNumVertices minus 1. Address of an FMOD_VECTOR which holds the new vertex location.
public function GetPolygonVertex  ( AIndex :  Integer; AVertexIndex :  Integer )  : TPoint3D ;  abstract virtual;

Retrieves the position of the vertex inside a geometry object.

Parameters

  • AIndex :  Integer  -  Polygon index. This must be in the range of 0 to Geometry::getNumPolygons minus 1. Vertex index inside the polygon. This must be in the range of 0 to Geometry::getPolygonNumVertices minus 1.
  • AVertexIndex :  Integer  -  Polygon index. This must be in the range of 0 to Geometry::getNumPolygons minus 1. Vertex index inside the polygon. This must be in the range of 0 to Geometry::getPolygonNumVertices minus 1.
public procedure Save  ( AData :  Pointer; ADataSize :  PFMOD_Int ) ;  abstract virtual;

Saves the geometry object as a serialized binary block, to a user memory buffer. This can then be saved to a file if required and loaded later with System::loadGeometry.

Parameters

  • AData :  Pointer  -  Address of a variable to receive the serialized geometry object. Specify 0 or NULL to have the datasize parameter return the size of the memory required for this saved object. Address of a variable to receive the size in bytes required to save this object when 'data' parameter is 0 or NULL.
  • ADataSize :  PFMOD_Int  -  Address of a variable to receive the serialized geometry object. Specify 0 or NULL to have the datasize parameter return the size of the memory required for this saved object. Address of a variable to receive the size in bytes required to save this object when 'data' parameter is 0 or NULL.

Properties

public UserData : Pointer

A user value that the Geometry object will store internally. Can be retrieved with Geometry::getUserData.

read GetUserData
write SetUserData
public Active : LongBool

Enables or disables an object from being processed in the geometry engine.

read GetActive
write SetActive
public Rotation : TGorillaFMODOrientation

The orientation of the geometry object.

read GetRotation
write SetRotation
public Position : TPoint3D

Sets the position of the object in world space, which is the same space FMOD sounds and listeners reside in.

read GetPosition
write SetPosition
public Scale : TPoint3D

Sets the relative scale vector of the geometry object. An object can be scaled/warped in all 3 dimensions separately using the vector without having to modify polygon data.

read GetScale
write SetScale
public NumPolygons : Integer

Retrieves the number of polygons stored within this geometry object.

read GetNumPolygons
public MaxPolygons : TGorillaFMODMaxPolygons

Retrieves the maximum number of polygons and vertices allocatable for this object. This is not the number of polygons or vertices currently present. The maximum number was set with System::createGeometry.

read GetMaxPolygons
public PolygonAttributes[Index] : TGorillaFMODPolygonAttributes

Individual attributes for each polygon inside a geometry object.

read GetPolygonAttributes
write SetPolygonAttributes