40 #ifndef INCLUDED_GLS_RSO_INTERFACE_IMPL_H
41 #define INCLUDED_GLS_RSO_INTERFACE_IMPL_H
47 # include "rso_interface_es_2.h"
51 typedef disti::RSOInterfaceES1::MatrixF
RSOMatrixT;
52 typedef disti::RSOInterfaceES2::RSOPainter
RSOPainterT;
80 void LevelsUp(
int value ) DISTI_METHOD_OVERRIDE { _filter->
LevelsUp( value ); }
110 const char* GetInclude(
int index )
const DISTI_METHOD_OVERRIDE {
return _filter->
GetInclude( index ); }
117 void PushParentName(
const char* parent ) { _filter->
PushParentName( parent ); }
120 unsigned int ParentNameCount()
const {
return _filter->
ParentNameCount(); }
122 const char* GetParentName(
unsigned int index )
const {
return _filter->
GetParentName( index ); }
138 std::string _resourcesRetVal;
142 typedef std::map<ResourceHandle, DistiAttributeBase*> ResourceHandleMap;
144 ResourceHandleMap _resourceHandleMap;
145 ResourceHandle _nextResourceHandle;
157 virtual GLS_EXPORT ~GlsRSOInterfaceImpl();
160 static GLS_EXPORT GlsRSOInterfaceImpl* CreateInstance(
ComponentBase* component );
167 GLS_EXPORT
void Calculate(
double time ) DISTI_METHOD_OVERRIDE;
173 GLS_EXPORT
void Draw() DISTI_METHOD_OVERRIDE;
194 GLS_EXPORT
void SetResource(
const char* resourceName,
const char* resourceVal ) DISTI_METHOD_OVERRIDE;
196 GLS_EXPORT
const char*
GetResource(
const char* resourceName ) DISTI_METHOD_OVERRIDE;
208 void SetResource( ResourceHandle resourceHandle,
const char* resourceVal ) DISTI_METHOD_OVERRIDE;
210 const char*
GetResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
212 void SetIntResource(
const char* resourceName,
long resourceVal ) DISTI_METHOD_OVERRIDE;
214 long GetIntResource(
const char* resourceName ) DISTI_METHOD_OVERRIDE;
216 void SetIntResource( ResourceHandle resourceHandle,
long resourceVal ) DISTI_METHOD_OVERRIDE;
218 long GetIntResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
220 void SetFloatResource(
const char* resourceName,
double resourceVal ) DISTI_METHOD_OVERRIDE;
224 void SetFloatResource( ResourceHandle resourceHandle,
double resourceVal ) DISTI_METHOD_OVERRIDE;
226 double GetFloatResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
232 unsigned int GetMaxNumLights() DISTI_METHOD_OVERRIDE;
233 void SetLightData(
unsigned int numLights, LightData* lightData ) DISTI_METHOD_OVERRIDE;
235 unsigned int GetMaxClipPlanes() DISTI_METHOD_OVERRIDE;
236 void SetClipPlaneData(
unsigned int numClipPlanes,
float** equations ) DISTI_METHOD_OVERRIDE;
238 void SetMatrix(
int type,
const float* matrix ) DISTI_METHOD_OVERRIDE;
239 void SetDefaultOpenGLState() DISTI_METHOD_OVERRIDE;
243 void GLS_EXPORT
Invalidate() DISTI_METHOD_OVERRIDE;
int LevelsUp() const override
Definition: gls_rso_interface_impl.h:79
Definition: rso_interface_1.h:578
void SetPainter(RSOPainterT *painter) override
const char * GetParentName(unsigned int index) const
bool GetBoundingSphere(RsoImplBaseInterface::Vector *center, float *radius) override
void ReleaseResourceHandle(ResourceHandle resourceHandle) override
Disposes of a resource handle.
void SetFloatResource(const char *resourceName, double resourceVal) override
Set the value as a float for a given named resource.
bool NamesOnly() const override
Definition: gls_rso_interface_impl.h:93
Definition: rso_interface_5.h:64
void Invalidate() override
bool Pick3D(const RsoImplBaseInterface::Vector &winLoc, const RsoImplBaseInterface::Vector &logicalCoords, float scale, const RsoImplBaseInterface::Vector &directionVector, RsoImplBaseInterface::Vector &collisionWinLoc, const RsoImplBaseInterface::OpenGLMatrices &drawnMatrices) override
Pick3D returns true if the RSO was picked.
int GroupLevelsDown() const override
Definition: gls_rso_interface_impl.h:86
void SetIntResource(const char *resourceName, long resourceVal) override
Set the value as an integer for a given named resource.
Definition: rso_interface_1.h:290
const char * GetInclude(unsigned int index) const
ResourceHandle CreateResourceHandle(const char *resourceName) override
Definition: rso_interface_5.h:61
bool HandleMultiTouchInput(RsoImplMultiTouchInterface::MouseMultiTouchEvent *lci3_ev) override
bool GetBoundingBox(RsoImplBaseInterface::Vector *min, RsoImplBaseInterface::Vector *max, const RSOMatrixT *transform=NULL) override
Definition: gls_rso_interface_impl.h:67
unsigned int ExcludeCount() const
Returns the number of exclude entries in the filter.
bool IsResourceHandleValid(ResourceHandle resourceHandle) override
Checks if a given resource handle is valid.
double GetFloatResource(const char *resourceName) override
Get the value as a float for a given named resource.
bool SetEmittedEventHandler(RsoImplBaseInterface::EmittedEventHandler *handler) override
const char * GetResources(RsoImplBaseInterface::ResourceFilter *filter=NULL) override
bool NamesOnly()
Definition: gls_resources.h:103
A file for all GL Studio files to include.
unsigned int ParentNameCount() const
Definition: rso_interface_4.h:63
void AddInclude(const char *str) override
Manage the list of included attributes.
Definition: gls_rso_interface_impl.h:105
Definition: component_base.h:67
Definition: gls_painter.h:51
Definition: rso_interface_1.h:302
The standard Mouse and keyboard events and event structures.
const char * GetExclude(int index) const override
Returns NULL if index >= ExcludeCount() or index < -1.
Definition: gls_rso_interface_impl.h:102
void AddInclude(const char *name)
Definition: gls_rso_interface_impl.h:126
const char * GetResource(const char *resourceName) override
Get the string value for the given resource.
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.
bool PassFilter(const char *name) const override
Definition: gls_rso_interface_impl.h:114
void SetResource(const char *resourceName, const char *resourceVal) override
Set the string value for a given named resource.
bool IsInvalidated() const override
Definition: rso_interface_1.h:60
void AddExclude(const char *name)
Definition: rso_interface_1.h:209
Definition: disti_metadata.h:186
Definition: rso_interface_3.h:60
Definition: rso_interface_3.h:64
void UnregisterResourceObserver(ResourceHandle resourceHandle, CallbackID id) override
Definition: rso_interface_1.h:185
int LevelsUp()
Definition: gls_resources.h:79
void DeleteInstance() override
Safely delete the object.
Definition: rso_interface_1.h:242
int GroupLevelsDown()
Definition: gls_resources.h:96
bool HandleInput(RsoImplBaseInterface::Event *lci1_ev) override
CallbackID RegisterResourceObserver(ResourceHandle resourceHandle, ResourceObserver *obs) override
void AddExclude(const char *str) override
Manage the list of excluded attributes.
Definition: gls_rso_interface_impl.h:97
void Calculate(double time) override
The RSO Interface methods.
int IncludeCount() const override
Definition: gls_rso_interface_impl.h:108
RsoImplBaseInterface * CloneObject() override
void PreDraw(const RsoImplBaseInterface::OpenGLMatrices &parentMatrices, RsoImplBaseInterface::Culler &culler) override
Definition: gls_resources.h:50
disti::GlsResourceFilter classes and methods.
const char * GetExclude(unsigned int index) const
int ExcludeCount() const override
Definition: gls_rso_interface_impl.h:100
unsigned int CallbackID
Type for unique identifiers.
Definition: rso_interface_4.h:79
Definition: bmpimage.h:46
Defines the RSO interface v5, which extends v4 to add conditional rendering support.
long GetIntResource(const char *resourceName) override
Get the value as an integer for a given named resource.
void PushParentName(const char *parent)