| GL Studio C++ Runtime API

gls_rso_interface_impl.h
Go to the documentation of this file.
1/*! \file
2 \brief Standard GL Studio implementation of the safe interface to version 2 RSOs (component side).
3
4 \par Copyright Information
5
6 Copyright (c) 2017 by The DiSTI Corporation.<br>
7 11301 Corporate Blvd; Suite 100<br>
8 Orlando, Florida 32817<br>
9 USA<br>
10 <br>
11 All rights reserved.<br>
12
13 This Software contains proprietary trade secrets of DiSTI and may not be
14 reproduced, in whole or part, in any form, or by any means of electronic,
15 mechanical, or otherwise, without the written permission of DiSTI. Said
16 permission may be derived through the purchase of applicable DiSTI product
17 licenses which detail the distribution rights of this content and any
18 Derivative Works based on this or other copyrighted DiSTI Software.
19
20 NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND,
21 AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT
22 PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES
23 AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
24 IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A
25 PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.
26
27 LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
28 IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
29 INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
30 DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
31 INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
32 INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY
33 OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT
34 EXCEED FIVE DOLLARS (US$5.00).
35
36 The aforementioned terms and restrictions are governed by the laws of the
37 State of Florida and the United States of America.
38
39*/
40#ifndef INCLUDED_GLS_RSO_INTERFACE_IMPL_H
41#define INCLUDED_GLS_RSO_INTERFACE_IMPL_H
42
43#include "events.h"
44#include "gls_include.h"
45#include "gls_resources.h"
46#ifdef GLES
47# include "rso_interface_es_2.h"
48 typedef disti::RSOInterfaceES2 RsoImplBaseClass; ///< Typedef for the current RSO interface.
49 typedef disti::RSOInterfaceES1 RsoImplBaseInterface; ///< Typedef for the original RSO interface.
50 typedef disti::RSOInterfaceES1 RsoImplMultiTouchInterface; ///< Typedef for the RSO interface version that introduced multitouch support.
51 typedef disti::RSOInterfaceES1::MatrixF RSOMatrixT; ///< Typedef for the RSO interface matrix type.
52 typedef disti::RSOInterfaceES2::RSOPainter RSOPainterT; ///< Typedef for the RSO interface painter type.
53#else
54# include "rso_interface_5.h"
55 typedef disti::RSOInterface5 RsoImplBaseClass; ///< Typedef for the current RSO interface.
56 typedef disti::RSOInterface1 RsoImplBaseInterface; ///< Typedef for the original RSO interface.
57 typedef disti::RSOInterface3 RsoImplMultiTouchInterface; ///< Typedef for the RSO interface version that introduced multitouch support.
58 typedef disti::RSOInterface1::MatrixD RSOMatrixT; ///< Typedef for the RSO interface matrix type.
59 typedef disti::RSOInterface5::RSOPainter RSOPainterT; ///< Typedef for the RSO interface painter type.
60#endif
61
62 namespace disti
63{
64 class ComponentBase;
65
66/** Wraps a GlsResourceFilter so it can be passed to the RSO Interface's GetResources call */
67 class RSOResourceFilterImpl : public RsoImplBaseInterface::ResourceFilter
68{
69 private:
70 GlsResourceFilter* _filter; ///< The underlying (runtime) filter wrapped by this interface.
71
72 public:
73 /// Constructor
74 /// \param filter The filter to wrap.
75 GLS_EDITOR RSOResourceFilterImpl( GlsResourceFilter* filter ) { _filter = filter; }
76
77 GLS_EDITOR ~RSOResourceFilterImpl() {}
78
79 /// \return The current qualification level.
80 int LevelsUp() const DISTI_METHOD_OVERRIDE { return _filter->LevelsUp(); }
81
82 /// How many levels of qualification to show in the name.
83 /// -1 means full qualification.
84 /// Default: -1
85 /// \param value The new qualification level to set.
86 void LevelsUp( int value ) DISTI_METHOD_OVERRIDE { _filter->LevelsUp( value ); }
87
88 /// \return The current levels of children to show.
89 int GroupLevelsDown() const DISTI_METHOD_OVERRIDE { return _filter->GroupLevelsDown(); }
90
91 /// How many levels of children to show.
92 /// 0 means don't show any children properties
93 /// -1 means all the way down.
94 /// Default: -1
95 /// \param value The new levels of children to show.
96 void GroupLevelsDown( int value ) DISTI_METHOD_OVERRIDE { _filter->GroupLevelsDown( value ); }
97
98 /// \return Whether or not names, or names and values should be returned.
99 bool NamesOnly() const DISTI_METHOD_OVERRIDE { return _filter->NamesOnly(); }
100
101 /// If true, only a list of names will be returned.
102 /// Values will not be returned.
103 /// The format changes to not include the ":".
104 /// Default: false
105 /// \param value The new name display flag to set.
106 void NamesOnly( bool value ) DISTI_METHOD_OVERRIDE { _filter->NamesOnly( value ); }
107
108 /// Manage the list of excluded attributes. Takes precedence over includes.
109 /// \param str The new name to add to the exclude list.
110 void AddExclude( const char* str ) DISTI_METHOD_OVERRIDE { _filter->AddExclude( str ); }
111
112 /// Default: 0
113 /// \return The number of entries in the exclude list.
114 int ExcludeCount() const DISTI_METHOD_OVERRIDE { return _filter->ExcludeCount(); }
115
116 /// \note Returns NULL if index >= ExcludeCount() or index < -1.
117 /// \return The exclude name associated with the incoming index.
118 /// \param index The index of the exclusion item to return.
119 const char* GetExclude( int index ) const DISTI_METHOD_OVERRIDE { return _filter->GetExclude( index ); }
120
121 /// Manage the list of included attributes.
122 /// \param str The new name to add to the include list.
123 void AddInclude( const char* str ) DISTI_METHOD_OVERRIDE { _filter->AddInclude( str ); }
124
125 /// Default: 0
126 /// \return The number of entries in the include list.
127 int IncludeCount() const DISTI_METHOD_OVERRIDE { return _filter->IncludeCount(); }
128
129 /// \note Returns NULL if index >= IncludeCount() or index < -1
130 /// \return The include name associated with the incoming index.
131 /// \param index The index of the inclusion item to return.
132 const char* GetInclude( int index ) const DISTI_METHOD_OVERRIDE { return _filter->GetInclude( index ); }
133
134 /// Check a name against the filters.
135 /// Exclude list takes precedence.
136 /// \param name The name of the item to test.
137 /// \return Whether or not the name passes the filter (to be included in the returned results).
138 bool PassFilter( const char* name ) const DISTI_METHOD_OVERRIDE { return _filter->PassFilter( name ); }
139
140 /// Manage the stack of parent object names.
141 /// \param parent The name of the item to add to the stack.
142 void PushParentName( const char* parent ) { _filter->PushParentName( parent ); }
143
144 /// Pop the parent object name stack.
145 void PopParentName() { _filter->PopParentName(); }
146
147 /// \return The number of entries in the parent name stack.
148 unsigned int ParentNameCount() const { return _filter->ParentNameCount(); }
149
150 /// \note Returns NULL if index >= ParentNameCount() or index < -1.
151 /// \return The parent name associated with the incoming index.
152 /// \param index The index of the parent name to return.
153 const char* GetParentName( unsigned int index ) const { return _filter->GetParentName( index ); }
154};
155
156/** Implementation of RSOInterface. */
157 class GlsRSOInterfaceImpl : public RsoImplBaseClass
158 , virtual public GlsPainter
159{
160 protected:
161 /// Reference to the component being wrapped.
162 /// GlsRSOInterface1Impl will delete this object.
163 ComponentBase* _component;
164
165 /// The container's event handler.
166 RsoImplBaseInterface::EmittedEventHandler* _emittedEventHandler;
167
168 /// String to return from Resources methods.
169 std::string _resourcesRetVal;
170
171 // RSOInterface2 implementation
172
173 typedef std::map<ResourceHandle, DistiAttributeBase*> ResourceHandleMap; ///< Typedef to associate external ids (ResourceHandle) with runtime attributes.
174
175 ResourceHandleMap _resourceHandleMap; ///< Mapping of external RSO interface resource ids with runtime attributes.
176 ResourceHandle _nextResourceHandle; ///< Used to track the highest id, to assign as the next resource handle.
177 bool _firstDraw; ///< If true, this RSO has not been drawn yet.
178
179 RSOPainterT* _painter; ///< Painter object that tracks the conditional rendering state.
180 bool _redraw; ///< If true, this RSO should redraw itself on the next frame.
181
182 /// \return The runtime attribute associated with the external handle.
183 /// \param handle The external id for the desired runtime attribute.
184 DistiAttributeBase& GetAttribute( ResourceHandle handle );
185
186 /// Protected constructor - Call CreateInstance instead
187 /// \param component The component object to wrap.
188 GLS_EXPORT GlsRSOInterfaceImpl( ComponentBase* component );
189
190 // Protected destructor - Call DeleteInstance instead
191 virtual GLS_EXPORT ~GlsRSOInterfaceImpl();
192
193 public:
194 /// \return An RSO interface wrapper for the incoming component object.
195 /// \param component The component object to wrap.
196 static GLS_EXPORT GlsRSOInterfaceImpl* CreateInstance( ComponentBase* component );
197
198 /// Pass an event that was emitted from the component to the container.
199 /// \param ev The event to pass into the container.
200 /// \return Zero if the event was not handled, otherwise not zero.
201 GLS_EXPORT int LiveComponentEventHandlerCb( ComponentBase*, disti::DisplayEvent* ev );
202
203 /// \copydoc RSOInterface1::Calculate
204 GLS_EXPORT void Calculate( double time ) DISTI_METHOD_OVERRIDE;
205 /// \copydoc RSOInterface1::CloneObject
206 GLS_EXPORT RsoImplBaseInterface* CloneObject() DISTI_METHOD_OVERRIDE;
207 /// \copydoc RSOInterface1::DeleteInstance
208 GLS_EXPORT void DeleteInstance() DISTI_METHOD_OVERRIDE;
209 /// \copydoc RSOInterface1::Draw
210 GLS_EXPORT void Draw() DISTI_METHOD_OVERRIDE;
211 /// \copydoc RSOInterface1::SetEmittedEventHandler
212 GLS_EXPORT bool SetEmittedEventHandler( RsoImplBaseInterface::EmittedEventHandler* handler ) DISTI_METHOD_OVERRIDE;
213 /// \copydoc RSOInterface1::GetBoundingSphere
214 GLS_EXPORT bool GetBoundingSphere( RsoImplBaseInterface::Vector* center, float* radius ) DISTI_METHOD_OVERRIDE;
215 /// \copydoc RSOInterface1::GetBoundingBox
216 GLS_EXPORT bool GetBoundingBox( RsoImplBaseInterface::Vector* min, RsoImplBaseInterface::Vector* max, const RSOMatrixT* transform = NULL ) DISTI_METHOD_OVERRIDE;
217 /// \copydoc RSOInterface1::HandleInput
218 GLS_EXPORT bool HandleInput( RsoImplBaseInterface::Event* ev ) DISTI_METHOD_OVERRIDE;
219 /// \copydoc RSOInterface3::HandleMultiTouchInput
220 GLS_EXPORT bool HandleMultiTouchInput( RsoImplMultiTouchInterface::MouseMultiTouchEvent* ev ) DISTI_METHOD_OVERRIDE;
221
222 /// \copydoc RSOInterface1::Pick3D
223 GLS_EXPORT bool Pick3D( const RsoImplBaseInterface::Vector& winLoc,
224 const RsoImplBaseInterface::Vector& logicalCoords,
225 float scale,
226 const RsoImplBaseInterface::Vector& directionVector,
227 RsoImplBaseInterface::Vector& collisionWinLoc,
228 const RsoImplBaseInterface::OpenGLMatrices& drawnMatrices ) DISTI_METHOD_OVERRIDE;
229
230 /// \copydoc RSOInterface1::PreDraw
231 GLS_EXPORT void PreDraw( const RsoImplBaseInterface::OpenGLMatrices& current, RsoImplBaseInterface::Culler& culler ) DISTI_METHOD_OVERRIDE;
232 /// \copydoc RSOInterface1::SetResource
233 GLS_EXPORT void SetResource( const char* resourceName, const char* resourceVal ) DISTI_METHOD_OVERRIDE;
234 /// \copydoc RSOInterface1::GetResource
235 GLS_EXPORT const char* GetResource( const char* resourceName ) DISTI_METHOD_OVERRIDE;
236 /// \copydoc RSOInterface1::GetResources
237 GLS_EXPORT const char* GetResources( RsoImplBaseInterface::ResourceFilter* filter = NULL ) DISTI_METHOD_OVERRIDE;
238
239 /// \copydoc RSOInterface2::CreateResourceHandle
240 ResourceHandle CreateResourceHandle( const char* resourceName ) DISTI_METHOD_OVERRIDE;
241 /// \copydoc RSOInterface2::ReleaseResourceHandle
242 void ReleaseResourceHandle( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
243 /// \copydoc RSOInterface2::IsResourceHandleValid
244 bool IsResourceHandleValid( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
245 /// \copydoc RSOInterface2::SetResource
246 void SetResource( ResourceHandle resourceHandle, const char* resourceVal ) DISTI_METHOD_OVERRIDE;
247 /// \copydoc RSOInterface2::GetResource
248 const char* GetResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
249 /// \copydoc RSOInterface2::SetIntResource(const char*, long)
250 void SetIntResource( const char* resourceName, long resourceVal ) DISTI_METHOD_OVERRIDE;
251 /// \copydoc RSOInterface2::GetIntResource(const char*)
252 long GetIntResource( const char* resourceName ) DISTI_METHOD_OVERRIDE;
253 /// \copydoc RSOInterface2::SetIntResource(ResourceHandle, long)
254 void SetIntResource( ResourceHandle handle, long resourceVal ) DISTI_METHOD_OVERRIDE;
255 /// \copydoc RSOInterface2::GetIntResource(ResourceHandle)
256 long GetIntResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
257 /// \copydoc RSOInterface2::SetFloatResource(const char*, double)
258 void SetFloatResource( const char* resourceName, double resourceVal ) DISTI_METHOD_OVERRIDE;
259 /// \copydoc RSOInterface2::GetFloatResource(const char*)
260 double GetFloatResource( const char* resourceName ) DISTI_METHOD_OVERRIDE;
261 /// \copydoc RSOInterface2::SetFloatResource(ResourceHandle, double)
262 void SetFloatResource( ResourceHandle handle, double resourceVal ) DISTI_METHOD_OVERRIDE;
263 /// \copydoc RSOInterface2::GetFloatResource(ResourceHandle)
264 double GetFloatResource( ResourceHandle resourceHandle ) DISTI_METHOD_OVERRIDE;
265 /// \copydoc RSOInterface4::RegisterResourceObserver
266 CallbackID RegisterResourceObserver( ResourceHandle resourceHandle, ResourceObserver* observer ) DISTI_METHOD_OVERRIDE;
267 /// \copydoc RSOInterface4::UnregisterResourceObserver
268 void UnregisterResourceObserver( ResourceHandle resourceHandle, CallbackID id ) DISTI_METHOD_OVERRIDE;
269
270#ifdef GLES
271 /// \return The maximum number of possible lights this platform supports.
272 unsigned int GetMaxNumLights();
273
274 /// Updates the state manager to set various light parameters.
275 /// \param numLights The number of lights within the lightData.
276 /// \param lightData An array of data where each element contains a collection of light properties.
277 void SetLightData( unsigned int numLights, LightData* lightData );
278
279 /// \return The maximum number of clip planes supported by the current driver.
280 unsigned int GetMaxClipPlanes();
281
282 /// Activates and updates the clip planes in the state manager.
283 /// \param[in] numClipPlanes Determines how many planes are defined in the equations array.
284 /// \param[in] equations An array of floats that define each plane where each equation is defined by four floats. equations[numClipPlanes][4].
285 void SetClipPlaneData( unsigned int numClipPlanes, float** equations );
286
287 /// Updates the state manager's top matrix based on the type.
288 /// \param[in] type If it's equal to RSO_MODELVIEW_MATRIX, it'll load the model view matrix. If it's RSO_PROJECTION_MATRIX, then it'll retrieve the ProjectionMatrix instead.
289 /// \param[in] matrix The matrix to push to the top of the stack.
290 void SetMatrix( int type, const float* matrix );
291
292 /// Restores the state manager back to its default state.
293 void SetDefaultOpenGLState();
294#endif
295
296 /// \copydoc RSOInterface5::RSOPainter::Invalidate
297 void GLS_EXPORT Invalidate() DISTI_METHOD_OVERRIDE;
298
299 /// \copydoc GlsPainter::IsInvalidated
300 bool GLS_EXPORT IsInvalidated() const DISTI_METHOD_OVERRIDE;
301
302 /// \copydoc RSOInterface5::SetPainter
303 void GLS_EXPORT SetPainter( RSOPainterT* painter ) DISTI_METHOD_OVERRIDE;
304};
305
306} // end namespace disti
307
308#endif
disti::ComponentBase
Definition: component_base.h:68
disti::Culler
Definition: cull.h:50
disti::DisplayEvent
Definition: events.h:113
disti::DistiAttributeBase
Definition: disti_metadata.h:220
disti::GlsPainter
Definition: gls_painter.h:51
disti::GlsRSOInterfaceImpl
Definition: gls_rso_interface_impl.h:159
disti::GlsRSOInterfaceImpl::CreateInstance
static GlsRSOInterfaceImpl * CreateInstance(ComponentBase *component)
disti::GlsRSOInterfaceImpl::GetAttribute
DistiAttributeBase & GetAttribute(ResourceHandle handle)
disti::GlsRSOInterfaceImpl::UnregisterResourceObserver
void UnregisterResourceObserver(ResourceHandle resourceHandle, CallbackID id) override
disti::GlsRSOInterfaceImpl::GetBoundingSphere
bool GetBoundingSphere(RsoImplBaseInterface::Vector *center, float *radius) override
disti::GlsRSOInterfaceImpl::_resourceHandleMap
ResourceHandleMap _resourceHandleMap
Mapping of external RSO interface resource ids with runtime attributes.
Definition: gls_rso_interface_impl.h:175
disti::GlsRSOInterfaceImpl::SetPainter
void SetPainter(RSOPainterT *painter) override
disti::GlsRSOInterfaceImpl::GetBoundingBox
bool GetBoundingBox(RsoImplBaseInterface::Vector *min, RsoImplBaseInterface::Vector *max, const RSOMatrixT *transform=NULL) override
disti::GlsRSOInterfaceImpl::HandleInput
bool HandleInput(RsoImplBaseInterface::Event *ev) override
disti::GlsRSOInterfaceImpl::_emittedEventHandler
RsoImplBaseInterface::EmittedEventHandler * _emittedEventHandler
The container's event handler.
Definition: gls_rso_interface_impl.h:166
disti::GlsRSOInterfaceImpl::_painter
RSOPainterT * _painter
Painter object that tracks the conditional rendering state.
Definition: gls_rso_interface_impl.h:179
disti::GlsRSOInterfaceImpl::Invalidate
void Invalidate() override
disti::GlsRSOInterfaceImpl::IsInvalidated
bool IsInvalidated() const override
disti::GlsRSOInterfaceImpl::SetIntResource
void SetIntResource(const char *resourceName, long resourceVal) override
disti::GlsRSOInterfaceImpl::_redraw
bool _redraw
If true, this RSO should redraw itself on the next frame.
Definition: gls_rso_interface_impl.h:180
disti::GlsRSOInterfaceImpl::Pick3D
bool Pick3D(const RsoImplBaseInterface::Vector &winLoc, const RsoImplBaseInterface::Vector &logicalCoords, float scale, const RsoImplBaseInterface::Vector &directionVector, RsoImplBaseInterface::Vector &collisionWinLoc, const RsoImplBaseInterface::OpenGLMatrices &drawnMatrices) override
disti::GlsRSOInterfaceImpl::CreateResourceHandle
ResourceHandle CreateResourceHandle(const char *resourceName) override
disti::GlsRSOInterfaceImpl::ResourceHandleMap
std::map< ResourceHandle, DistiAttributeBase * > ResourceHandleMap
Typedef to associate external ids (ResourceHandle) with runtime attributes.
Definition: gls_rso_interface_impl.h:173
disti::GlsRSOInterfaceImpl::_firstDraw
bool _firstDraw
If true, this RSO has not been drawn yet.
Definition: gls_rso_interface_impl.h:177
disti::GlsRSOInterfaceImpl::GlsRSOInterfaceImpl
GlsRSOInterfaceImpl(ComponentBase *component)
disti::GlsRSOInterfaceImpl::GetFloatResource
double GetFloatResource(const char *resourceName) override
disti::GlsRSOInterfaceImpl::HandleMultiTouchInput
bool HandleMultiTouchInput(RsoImplMultiTouchInterface::MouseMultiTouchEvent *ev) override
disti::GlsRSOInterfaceImpl::SetMatrix
void SetMatrix(int type, const float *matrix)
disti::GlsRSOInterfaceImpl::SetEmittedEventHandler
bool SetEmittedEventHandler(RsoImplBaseInterface::EmittedEventHandler *handler) override
disti::GlsRSOInterfaceImpl::GetResource
const char * GetResource(const char *resourceName) override
disti::GlsRSOInterfaceImpl::SetDefaultOpenGLState
void SetDefaultOpenGLState()
Restores the state manager back to its default state.
disti::GlsRSOInterfaceImpl::SetResource
void SetResource(const char *resourceName, const char *resourceVal) override
disti::GlsRSOInterfaceImpl::DeleteInstance
void DeleteInstance() override
Safely delete the object.
disti::GlsRSOInterfaceImpl::Calculate
void Calculate(double time) override
The RSO Interface methods.
disti::GlsRSOInterfaceImpl::IsResourceHandleValid
bool IsResourceHandleValid(ResourceHandle resourceHandle) override
disti::GlsRSOInterfaceImpl::GetMaxClipPlanes
unsigned int GetMaxClipPlanes()
disti::GlsRSOInterfaceImpl::ReleaseResourceHandle
void ReleaseResourceHandle(ResourceHandle resourceHandle) override
disti::GlsRSOInterfaceImpl::GetResources
const char * GetResources(RsoImplBaseInterface::ResourceFilter *filter=NULL) override
disti::GlsRSOInterfaceImpl::SetFloatResource
void SetFloatResource(const char *resourceName, double resourceVal) override
disti::GlsRSOInterfaceImpl::GetIntResource
long GetIntResource(const char *resourceName) override
disti::GlsRSOInterfaceImpl::_nextResourceHandle
ResourceHandle _nextResourceHandle
Used to track the highest id, to assign as the next resource handle.
Definition: gls_rso_interface_impl.h:176
disti::GlsRSOInterfaceImpl::RegisterResourceObserver
CallbackID RegisterResourceObserver(ResourceHandle resourceHandle, ResourceObserver *observer) override
disti::GlsRSOInterfaceImpl::GetMaxNumLights
unsigned int GetMaxNumLights()
disti::GlsRSOInterfaceImpl::SetClipPlaneData
void SetClipPlaneData(unsigned int numClipPlanes, float **equations)
disti::GlsRSOInterfaceImpl::_resourcesRetVal
std::string _resourcesRetVal
String to return from Resources methods.
Definition: gls_rso_interface_impl.h:169
disti::GlsRSOInterfaceImpl::CloneObject
RsoImplBaseInterface * CloneObject() override
disti::GlsRSOInterfaceImpl::SetLightData
void SetLightData(unsigned int numLights, LightData *lightData)
disti::GlsRSOInterfaceImpl::_component
ComponentBase * _component
Definition: gls_rso_interface_impl.h:163
disti::GlsRSOInterfaceImpl::LiveComponentEventHandlerCb
int LiveComponentEventHandlerCb(ComponentBase *, disti::DisplayEvent *ev)
disti::GlsRSOInterfaceImpl::Draw
void Draw() override
disti::GlsRSOInterfaceImpl::PreDraw
void PreDraw(const RsoImplBaseInterface::OpenGLMatrices &current, RsoImplBaseInterface::Culler &culler) override
disti::GlsResourceFilter
Definition: gls_resources.h:51
disti::GlsResourceFilter::LevelsUp
void LevelsUp(int value)
Definition: gls_resources.h:84
disti::GlsResourceFilter::IncludeCount
unsigned int IncludeCount() const
disti::GlsResourceFilter::PopParentName
void PopParentName()
Removes the top entry on the parent name stack.
disti::GlsResourceFilter::GetInclude
const char * GetInclude(unsigned int index) const
disti::GlsResourceFilter::PushParentName
void PushParentName(const char *parent)
disti::GlsResourceFilter::ExcludeCount
unsigned int ExcludeCount() const
disti::GlsResourceFilter::GetExclude
const char * GetExclude(unsigned int index) const
disti::GlsResourceFilter::NamesOnly
void NamesOnly(bool value)
Definition: gls_resources.h:112
disti::GlsResourceFilter::AddInclude
void AddInclude(const char *name)
disti::GlsResourceFilter::ParentNameCount
unsigned int ParentNameCount() const
disti::GlsResourceFilter::PassFilter
virtual bool PassFilter(const char *name)
disti::GlsResourceFilter::GetParentName
const char * GetParentName(unsigned int index) const
disti::GlsResourceFilter::AddExclude
void AddExclude(const char *name)
disti::GlsResourceFilter::GroupLevelsDown
void GroupLevelsDown(int value)
Definition: gls_resources.h:103
disti::OpenGLMatrices
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
disti::RSOInterface1::MatrixD
Definition: rso_interface_1.h:210
disti::RSOInterface1
Definition: rso_interface_1.h:61
disti::RSOInterface3
Definition: rso_interface_3.h:61
disti::RSOInterface5::RSOPainter
Definition: rso_interface_5.h:66
disti::RSOInterface5
Definition: rso_interface_5.h:62
disti::RSOResourceFilterImpl
Definition: gls_rso_interface_impl.h:68
disti::RSOResourceFilterImpl::GetInclude
const char * GetInclude(int index) const override
Definition: gls_rso_interface_impl.h:132
disti::RSOResourceFilterImpl::PopParentName
void PopParentName()
Pop the parent object name stack.
Definition: gls_rso_interface_impl.h:145
disti::RSOResourceFilterImpl::ExcludeCount
int ExcludeCount() const override
Definition: gls_rso_interface_impl.h:114
disti::RSOResourceFilterImpl::GetExclude
const char * GetExclude(int index) const override
Definition: gls_rso_interface_impl.h:119
disti::RSOResourceFilterImpl::NamesOnly
bool NamesOnly() const override
Definition: gls_rso_interface_impl.h:99
disti::RSOResourceFilterImpl::PushParentName
void PushParentName(const char *parent)
Definition: gls_rso_interface_impl.h:142
disti::RSOResourceFilterImpl::GroupLevelsDown
void GroupLevelsDown(int value) override
Definition: gls_rso_interface_impl.h:96
disti::RSOResourceFilterImpl::RSOResourceFilterImpl
RSOResourceFilterImpl(GlsResourceFilter *filter)
Definition: gls_rso_interface_impl.h:75
disti::RSOResourceFilterImpl::LevelsUp
void LevelsUp(int value) override
Definition: gls_rso_interface_impl.h:86
disti::RSOResourceFilterImpl::AddExclude
void AddExclude(const char *str) override
Definition: gls_rso_interface_impl.h:110
disti::RSOResourceFilterImpl::PassFilter
bool PassFilter(const char *name) const override
Definition: gls_rso_interface_impl.h:138
disti::RSOResourceFilterImpl::LevelsUp
int LevelsUp() const override
Definition: gls_rso_interface_impl.h:80
disti::RSOResourceFilterImpl::AddInclude
void AddInclude(const char *str) override
Definition: gls_rso_interface_impl.h:123
disti::RSOResourceFilterImpl::ParentNameCount
unsigned int ParentNameCount() const
Definition: gls_rso_interface_impl.h:148
disti::RSOResourceFilterImpl::GroupLevelsDown
int GroupLevelsDown() const override
Definition: gls_rso_interface_impl.h:89
disti::RSOResourceFilterImpl::IncludeCount
int IncludeCount() const override
Definition: gls_rso_interface_impl.h:127
disti::RSOResourceFilterImpl::GetParentName
const char * GetParentName(unsigned int index) const
Definition: gls_rso_interface_impl.h:153
disti::RSOResourceFilterImpl::NamesOnly
void NamesOnly(bool value) override
Definition: gls_rso_interface_impl.h:106
disti::VertexNoColor
Definition: vertex.h:85
events.h
The standard Mouse and keyboard events and event structures.
DISTI_METHOD_OVERRIDE
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:222
gls_include.h
A file for all GL Studio files to include.
GLS_EXPORT
#define GLS_EXPORT
Macro denoting which functions should be visible from the runtime library.
Definition: gls_include.h:52
GLS_EDITOR
#define GLS_EDITOR
Macro denoting which functions should be visible from the editor.
Definition: gls_include.h:63
gls_resources.h
disti::GlsResourceFilter classes and methods.
RsoImplMultiTouchInterface
disti::RSOInterfaceES1 RsoImplMultiTouchInterface
Typedef for the RSO interface version that introduced multitouch support.
Definition: gls_rso_interface_impl.h:50
RsoImplBaseInterface
disti::RSOInterfaceES1 RsoImplBaseInterface
Typedef for the original RSO interface.
Definition: gls_rso_interface_impl.h:49
RSOMatrixT
disti::RSOInterfaceES1::MatrixF RSOMatrixT
Typedef for the RSO interface matrix type.
Definition: gls_rso_interface_impl.h:51
RSOPainterT
disti::RSOInterfaceES2::RSOPainter RSOPainterT
Typedef for the RSO interface painter type.
Definition: gls_rso_interface_impl.h:52
RsoImplBaseClass
disti::RSOInterfaceES2 RsoImplBaseClass
Typedef for the current RSO interface.
Definition: gls_rso_interface_impl.h:48
disti
Definition: bmpimage.h:47
disti::RsoImplBaseInterface
RSOInterfaceES1 RsoImplBaseInterface
Typedef for the original RSO interface.
Definition: live_component_lib_ref.h:53
rso_interface_5.h
Defines the RSO interface v5, which extends v4 to add conditional rendering support.