40 #ifndef INCLUDED_GLS_RSO_INTERFACE_IMPL_H
41 #define INCLUDED_GLS_RSO_INTERFACE_IMPL_H
47 # include "rso_interface_es_1.h"
51 typedef disti::RSOInterfaceES1::MatrixF
RSOMatrixT;
78 void LevelsUp(
int value ) DISTI_METHOD_OVERRIDE { _filter->
LevelsUp( value ); }
108 const char* GetInclude(
int index )
const DISTI_METHOD_OVERRIDE {
return _filter->
GetInclude( index ); }
115 void PushParentName(
const char* parent ) { _filter->
PushParentName( parent ); }
118 unsigned int ParentNameCount()
const {
return _filter->
ParentNameCount(); }
120 const char* GetParentName(
unsigned int index )
const {
return _filter->
GetParentName( index ); }
135 std::string _resourcesRetVal;
139 typedef std::map<ResourceHandle, DistiAttributeBase*> ResourceHandleMap;
141 ResourceHandleMap _resourceHandleMap;
142 ResourceHandle _nextResourceHandle;
151 virtual GLS_EXPORT ~GlsRSOInterfaceImpl();
154 static GLS_EXPORT GlsRSOInterfaceImpl* CreateInstance(
ComponentBase* component );
161 GLS_EXPORT
void Calculate(
double time ) DISTI_METHOD_OVERRIDE;
167 GLS_EXPORT
void Draw() DISTI_METHOD_OVERRIDE;
188 GLS_EXPORT
void SetResource(
const char* resourceName,
const char* resourceVal ) DISTI_METHOD_OVERRIDE;
190 GLS_EXPORT
const char*
GetResource(
const char* resourceName ) DISTI_METHOD_OVERRIDE;
202 void SetResource( ResourceHandle resourceHandle,
const char* resourceVal ) DISTI_METHOD_OVERRIDE;
204 const char*
GetResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
206 void SetIntResource(
const char* resourceName,
long resourceVal ) DISTI_METHOD_OVERRIDE;
208 long GetIntResource(
const char* resourceName ) DISTI_METHOD_OVERRIDE;
210 void SetIntResource( ResourceHandle resourceHandle,
long resourceVal ) DISTI_METHOD_OVERRIDE;
212 long GetIntResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
214 void SetFloatResource(
const char* resourceName,
double resourceVal ) DISTI_METHOD_OVERRIDE;
218 void SetFloatResource( ResourceHandle resourceHandle,
double resourceVal ) DISTI_METHOD_OVERRIDE;
220 double GetFloatResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
226 unsigned int GetMaxNumLights() DISTI_METHOD_OVERRIDE;
227 void SetLightData(
unsigned int numLights, LightData* lightData ) DISTI_METHOD_OVERRIDE;
229 unsigned int GetMaxClipPlanes() DISTI_METHOD_OVERRIDE;
230 void SetClipPlaneData(
unsigned int numClipPlanes,
float** equations ) DISTI_METHOD_OVERRIDE;
232 void SetMatrix(
int type,
const float* matrix ) DISTI_METHOD_OVERRIDE;
233 void SetDefaultOpenGLState() DISTI_METHOD_OVERRIDE;
bool GetBoundingSphere(RsoImplBaseInterface::Vector *center, float *radius)
Definition: rso_interface_1.h:578
void SetResource(const char *resourceName, const char *resourceVal)
Set the string value for a given named resource.
const char * GetParentName(unsigned int index) const
void SetIntResource(const char *resourceName, long resourceVal)
Set the value as an integer for a given named resource.
Definition: rso_interface_1.h:290
void PreDraw(const RsoImplBaseInterface::OpenGLMatrices &parentMatrices, RsoImplBaseInterface::Culler &culler)
const char * GetInclude(unsigned int index) const
double GetFloatResource(const char *resourceName)
Get the value as a float for a given named resource.
Definition: gls_rso_interface_impl.h:65
bool IsResourceHandleValid(ResourceHandle resourceHandle)
Checks if a given resource handle is valid.
unsigned int ExcludeCount() const
Returns the number of exclude entries in the filter.
RsoImplBaseInterface * CloneObject()
long GetIntResource(const char *resourceName)
Get the value as an integer for a given named resource.
int IncludeCount() const
Definition: gls_rso_interface_impl.h:106
bool NamesOnly()
Definition: gls_resources.h:103
const char * GetExclude(int index) const
Returns NULL if index >= ExcludeCount() or index < -1.
Definition: gls_rso_interface_impl.h:100
A file for all GL Studio files to include.
unsigned int ParentNameCount() const
int GroupLevelsDown() const
Definition: gls_rso_interface_impl.h:84
Definition: rso_interface_4.h:63
Definition: component_base.h:67
const char * GetResource(const char *resourceName)
Get the string value for the given resource.
Definition: rso_interface_1.h:302
void AddInclude(const char *str)
Manage the list of included attributes.
Definition: gls_rso_interface_impl.h:103
The standard Mouse and keyboard events and event structures.
void AddInclude(const char *name)
Definition: gls_rso_interface_impl.h:124
bool PassFilter(const char *name) const
Definition: gls_rso_interface_impl.h:112
void UnregisterResourceObserver(ResourceHandle resourceHandle, CallbackID id)
virtual bool PassFilter(const char *name)
Test a resource name against the filter.
Definition: rso_interface_1.h:592
unsigned int IncludeCount() const
Returns the number of includes in the filter.
void SetFloatResource(const char *resourceName, double resourceVal)
Set the value as a float for a given named resource.
Definition: rso_interface_1.h:60
void AddExclude(const char *name)
Definition: rso_interface_1.h:209
Definition: disti_metadata.h:174
int LevelsUp() const
Definition: gls_rso_interface_impl.h:77
Definition: rso_interface_3.h:60
Definition: rso_interface_3.h:64
bool Pick3D(const RsoImplBaseInterface::Vector &winLoc, const RsoImplBaseInterface::Vector &logicalCoords, float scale, const RsoImplBaseInterface::Vector &directionVector, RsoImplBaseInterface::Vector &collisionWinLoc, const RsoImplBaseInterface::OpenGLMatrices &drawnMatrices)
Pick3D returns true if the RSO was picked.
ResourceHandle CreateResourceHandle(const char *resourceName)
CallbackID RegisterResourceObserver(ResourceHandle resourceHandle, ResourceObserver *obs)
Definition: rso_interface_1.h:185
const char * GetResources(RsoImplBaseInterface::ResourceFilter *filter=NULL)
int LevelsUp()
Definition: gls_resources.h:79
void Calculate(double time)
The RSO Interface methods.
Definition: rso_interface_1.h:242
int GroupLevelsDown()
Definition: gls_resources.h:96
bool NamesOnly() const
Definition: gls_rso_interface_impl.h:91
bool HandleInput(RsoImplBaseInterface::Event *lci1_ev)
void DeleteInstance()
Safely delete the object.
Definition: rso_interface_4.h:59
Definition: gls_resources.h:50
disti::GlsResourceFilter classes and methods.
const char * GetExclude(unsigned int index) const
Defines the RSO interface v3, which extends v2 to add multitouch support through the HandleMultiTouch...
void ReleaseResourceHandle(ResourceHandle resourceHandle)
Disposes of a resource handle.
unsigned int CallbackID
Type for unique identifiers.
Definition: rso_interface_4.h:79
bool HandleMultiTouchInput(RsoImplMultiTouchInterface::MouseMultiTouchEvent *lci3_ev)
Definition: bmpimage.h:46
void AddExclude(const char *str)
Manage the list of excluded attributes.
Definition: gls_rso_interface_impl.h:95
int ExcludeCount() const
Definition: gls_rso_interface_impl.h:98
bool SetEmittedEventHandler(RsoImplBaseInterface::EmittedEventHandler *handler)
bool GetBoundingBox(RsoImplBaseInterface::Vector *min, RsoImplBaseInterface::Vector *max, const RSOMatrixT *transform=NULL)
void PushParentName(const char *parent)