41#ifndef INCLUDED_GLS_MIMIC_GROUP_H
42#define INCLUDED_GLS_MIMIC_GROUP_H
51#if( defined( GLSGEN_EXPORT_GLSMIMICGROUP ) || defined( GLSGEN_IMPORT_GLSMIMICGROUP ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
52 && defined( _MSC_VER )
53# if defined( GLSGEN_EXPORT_GLSMIMICGROUP ) || defined( GLS_EXPORT_GENERATED )
54# define GLSGEN_GLSMIMICGROUP_EXPORT __declspec( dllexport )
56# define GLSGEN_GLSMIMICGROUP_EXPORT __declspec( dllimport )
59# define GLSGEN_GLSMIMICGROUP_EXPORT
64#define LIB_BASE_NAME "gls_mimic_group"
77 GLS_MIMIC_GROUP_STATE = GLS_LAST_INITIALIZER + 1,
78 GLS_MIMIC_GROUP_MIMIC_ACTIVE,
79 GLS_MIMIC_GROUP_BOTTOM_LEFT_CORNER,
80 GLS_MIMIC_GROUP_TOP_RIGHT_CORNER,
81 GLS_MIMIC_GROUP_SHOW_OUTLINE,
82 GLS_MIMIC_GROUP_TEXTURE_HEIGHT,
83 GLS_MIMIC_GROUP_TEXTURE_WIDTH,
84 GLS_MIMIC_GROUP_HAS_DEPTH_BUFFER,
85 GLS_MIMIC_GROUP_DEPTH_TEST,
86 GLS_MIMIC_GROUP_GENERATE_MIPMAPS,
87 GLS_MIMIC_GROUP_DRAW_MIMIC_POLYGON,
88 GLS_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX,
89 GLS_MIMIC_GROUP_CLEAR_COLOR,
90 GLS_MIMIC_GROUP_USE_OPAQUE_TEXTURE,
91 GLS_MIMIC_GROUP_MIMIC_AUTO_REDRAW
128 friend class GlsMimicGroupEditor;
129 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
Definition: dynamic_array.h:79
Definition: gls_color.h:54
Definition: gls_glo_file.h:1243
Definition: gls_mimic_group.h:122
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
bool _frameBuffersEnabledAndAttached
True when frame buffer support is detected and frame buffers were attached successfully.
Definition: gls_mimic_group.h:521
virtual void TextureHeight(unsigned int textureHeight)
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
unsigned int _textureHeight
Height of the mimic texture in pixels.
Definition: gls_mimic_group.h:516
bool RequiredGlFeaturesSupported()
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
void UseOpaqueTexture(bool opaque)
void ApplyMimicGroupTextureSettings()
bool ShowOutline() const
Definition: gls_mimic_group.h:341
unsigned int _depthBufferHandle
Handle for depth buffer object.
Definition: gls_mimic_group.h:518
bool _showOutline
Outline is only visible in editor.
Definition: gls_mimic_group.h:507
bool _hasDepthBuffer
Whether or not the mimic will render a depth buffer.
Definition: gls_mimic_group.h:505
virtual void GenerateMipMaps(bool generate)
void ShowOutline(bool showOutline)
virtual unsigned char MimicGroupDepthTest() const
Definition: gls_mimic_group.h:241
virtual void AttachedTextureIndex(int textureIndex)
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual void ClearColor(const GlsColor &color)
virtual void DrawMimicGroupPolygon(bool draw)
virtual void AutoRedraw(bool autoRedrawSetting)
virtual GlsColor ClearColor() const
Definition: gls_mimic_group.h:269
bool _redraw
Whether or not the mimic scene needs to redraw.
Definition: gls_mimic_group.h:504
virtual void TextureWidth(unsigned int textureWidth)
DisplayObject * handle(DisplayEvent *displayEvent) DISTI_METHOD_OVERRIDE
bool _generateMipMaps
Whether or not the mimic will generate mip maps.
Definition: gls_mimic_group.h:506
unsigned int _frameBufferHandle
Handle for frame buffer object.
Definition: gls_mimic_group.h:517
Vector _topRightCorner
Top Right Corner of the mimic scene region.
Definition: gls_mimic_group.h:513
bool _mimicGroupActive
Whether or not the mimic is active. If not active, mimic group behaves as a normal group.
Definition: gls_mimic_group.h:502
void GetRegionCorners(Vector &topLeftCorner, Vector &topRightCorner, Vector &bottomRightCorner, Vector &bottomLeftCorner)
virtual unsigned int TextureWidth() const
Definition: gls_mimic_group.h:171
Vector TopRightCorner() const
Definition: gls_mimic_group.h:334
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
bool _textureIndexChanged
Unused, kept for backward compatibility.
Definition: gls_mimic_group.h:510
virtual void PreDrawMimicGroupChildren(const OpenGLMatrices &parentMatrices, Culler &culler)
void DeleteMimicGroupQuad()
Delete the mimic quad (if it has been allocated).
virtual void SetMatrices()
int _attachedTextureIndex
GL Studio texture index to generate mimic into. If -1, then mimic will generate its own texture.
Definition: gls_mimic_group.h:514
void CreateDiffuseTexture()
virtual void HasDepthBuffer(bool hasDepthBuffer)
bool Redraw() const
Definition: gls_mimic_group.h:355
void LogUnsupportedFeatures()
bool UseOpaqueTexture() const
Definition: gls_mimic_group.h:369
virtual int AttachedTextureIndex() const
Definition: gls_mimic_group.h:283
GlsColor _clearColor
RGBA color to clear mimic scene background with.
Definition: gls_mimic_group.h:511
void UpdateMimicGroupQuad()
Update the vertices of the mimic quad.
unsigned char _mimicGroupDepthTest
Mimic depth test settings (affects whether or not the mimic polygon is depth tested).
Definition: gls_mimic_group.h:509
void MimicGroupActive(bool activate)
void CreateDepthTexture()
virtual void InsertObject(DisplayObject *obj, bool reparent=true, bool recalculateBoundingbox=true, int loc=-1) DISTI_METHOD_OVERRIDE
void SetupMimicGroupDepthTest()
static DisplayObject * CreateInstance()
void Invalidate() DISTI_METHOD_OVERRIDE
Notify the painter that the scene needs to be redrawn.
virtual bool GenerateMipMaps() const
Definition: gls_mimic_group.h:213
bool IsInvalidated() const DISTI_METHOD_OVERRIDE
Vector _bottomLeftCorner
Bottom Left Corner of the mimic scene region.
Definition: gls_mimic_group.h:512
bool MimicGroupActive()
Definition: gls_mimic_group.h:298
void SetPainter(GlsPainter *painter) DISTI_METHOD_OVERRIDE
bool _drawMimicGroupPolygon
Whether or not a mimic polygon will be drawn.
Definition: gls_mimic_group.h:508
virtual bool HasDepthBuffer() const
Definition: gls_mimic_group.h:199
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
void BottomLeftCorner(const Vector &bottomLeftCorner)
virtual void PushObject(DisplayObject *obj) DISTI_METHOD_OVERRIDE
bool _autoRedraw
Whether or not the mimic group should automatically update via conditional rendering.
Definition: gls_mimic_group.h:503
Image * _mimicGroupTexture
Image object for texture.
Definition: gls_mimic_group.h:519
virtual unsigned int TextureHeight() const
Definition: gls_mimic_group.h:185
bool _useOpaqueTexture
True if the atached frame buffer texture should be crated as GL_RGB, False will create the texture as...
Definition: gls_mimic_group.h:522
virtual bool DrawMimicGroupPolygon() const
Definition: gls_mimic_group.h:227
void CreateMimicGroupQuad()
Allocate and create the mimic quad.
virtual void MimicGroupDepthTest(unsigned char depthSettings)
unsigned int _vertexBufferHandle
Vertex buffer handle for mimic quad.
Definition: gls_mimic_group.h:520
static bool _unsupportedLogged
True if a warning has been logged to users that the mimic group feature is not supported....
Definition: gls_mimic_group.h:524
void TopRightCorner(const Vector &topRightCorner)
bool VertexBuffersAreSupported()
virtual bool AutoRedraw() const
Definition: gls_mimic_group.h:255
unsigned int _textureWidth
Width of the mimic texture in pixels.
Definition: gls_mimic_group.h:515
Vector BottomLeftCorner()
Definition: gls_mimic_group.h:320
Definition: gls_painter.h:51
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
Utility for common frame buffer support.
Macros and helper code to determine what subset of C++11/14/17 is available.
#define DISTI_SPECIAL_MEM_FUN_DELETE
Macro to wrap function deletion, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:235
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:457
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:214
#define GLSGEN_GLSMIMICGROUP_EXPORT
Provides support for creating DLLs.
Definition: gls_mimic_group.h:59
The disti::Group class. Implements groups of objects.
The Image class. All textures are converted internally into Images.
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47