GL Studio C++ Runtime API
RSOInterface1 Class Referenceabstract

#include <rso_interface_1.h>

Inheritance diagram for RSOInterface1:
RSOInterface2 RSOInterface3 RSOInterface4 RSOInterface5 GlsRSOInterfaceImpl

Classes

class  Culler
 
class  EmittedEventHandler
 
class  Event
 
class  KeyboardEvent
 
class  LocationEvent
 
class  MatrixD
 
class  MouseEvent
 
class  ObjectEvent
 
class  OpenGLMatrices
 
class  PlaneClass
 
class  ResourceFilter
 
class  Vector
 

Public Member Functions

virtual void Calculate (double time)=0
 The RSO Interface methods. More...
 
virtual void PreDraw (const OpenGLMatrices &current, Culler &culler)=0
 
virtual void Draw ()=0
 
virtual void SetResource (const char *resourceName, const char *resourceVal)=0
 Set the string value for a given named resource.
 
virtual const char * GetResource (const char *resourceName)=0
 Get the string value for the given resource.
 
virtual const char * GetResources (ResourceFilter *filter=0)=0
 
virtual bool HandleInput (Event *ev)=0
 
virtual bool SetEmittedEventHandler (EmittedEventHandler *handler)=0
 
virtual bool Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)=0
 Pick3D returns true if the RSO was picked.
 
virtual bool GetBoundingSphere (Vector *center, float *radius)=0
 
virtual bool GetBoundingBox (Vector *min, Vector *max, const MatrixD *transform=0)=0
 
virtual RSOInterface1CloneObject ()=0
 
virtual void DeleteInstance ()=0
 Safely delete the object.
 

Protected Member Functions

virtual ~RSOInterface1 ()
 Protected destructor so it can't be deleted directly.
 

Detailed Description

The RSOInterface1 class defines an abstract interface to an RSO instance.

Member Function Documentation

virtual void Calculate ( double  time)
pure virtual

The RSO Interface methods.

Perform component simulation. Any non-drawing activities can be performed here. Call this before PreDraw()

Implemented in GlsRSOInterfaceImpl.

virtual RSOInterface1* CloneObject ( )
pure virtual

Returns a new instance of the RSO that is a clone of this object or NULL if not possible.

Implemented in GlsRSOInterfaceImpl.

virtual void Draw ( )
pure virtual

Draw the object via OpenGL Call this after PreDraw()

Implemented in GlsRSOInterfaceImpl.

virtual bool GetBoundingBox ( Vector min,
Vector max,
const MatrixD transform = 0 
)
pure virtual

Get the extents of the component when drawn with the given transformation matrix, as a coordinate system-aligned box

Parameters
minIf the method returns true, contains the point corresponding with the 1st corner of the box. If the method returns false, value is undefined.
maxIf the method returns true, contains the point corresponding with the 2nd corner of the box. If the method returns false, value is undefined.
transformTransformation matrix from A to B where A is the component's coordinate system and B is the coordinate system to compute the bounding box in. (If NULL then identity matrix is assumed)
Returns
true if the extents were calculated, false if the extents could not be calculated.

Implemented in GlsRSOInterfaceImpl.

virtual bool GetBoundingSphere ( Vector center,
float *  radius 
)
pure virtual

Get the bounding sphere for the component in the components coordinate system

Parameters
centerIf the method returns true, contains the center point of the sphere. If the method returns false, value is undefined.
radiusIf the method returns true, contains the radius of the sphere. If the method returns false, value is undefined.
Returns
true if the bounding sphere was returned, false if the bounding sphere is not available.

Implemented in GlsRSOInterfaceImpl.

virtual const char* GetResources ( ResourceFilter filter = 0)
pure virtual

Get a list of the resources for the component. Each resource is separated by a newline ('
') with the output controlled by filter. filter may be NULL in which case the default values are used.

Implemented in GlsRSOInterfaceImpl.

virtual bool HandleInput ( Event ev)
pure virtual

Allow the object to handle an event Returns true if the event was handled by the component

Implemented in GlsRSOInterfaceImpl.

virtual void PreDraw ( const OpenGLMatrices current,
Culler culler 
)
pure virtual

Calculate transformations and perform culling Call this before Draw()

Implemented in GlsRSOInterfaceImpl.

virtual bool SetEmittedEventHandler ( EmittedEventHandler handler)
pure virtual

Allow for handling events from inside the object. The emitted event handler will be passed events that are from inside the component

Parameters
handlerpointer to the EmittedEventHandler object to use or NULL to remove the current event handler.
Returns
true if this component may emit events, false if this component will never emit events.

Implemented in GlsRSOInterfaceImpl.


The documentation for this class was generated from the following file: