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 
   63 #define LIB_BASE_NAME "gls_mimic_group" 
   76     GLS_MIMIC_GROUP_STATE = GLS_LAST_INITIALIZER + 1,
 
   77     GLS_MIMIC_GROUP_MIMIC_ACTIVE,
 
   78     GLS_MIMIC_GROUP_BOTTOM_LEFT_CORNER,
 
   79     GLS_MIMIC_GROUP_TOP_RIGHT_CORNER,
 
   80     GLS_MIMIC_GROUP_SHOW_OUTLINE,
 
   81     GLS_MIMIC_GROUP_TEXTURE_HEIGHT,
 
   82     GLS_MIMIC_GROUP_TEXTURE_WIDTH,
 
   83     GLS_MIMIC_GROUP_HAS_DEPTH_BUFFER,
 
   84     GLS_MIMIC_GROUP_DEPTH_TEST,
 
   85     GLS_MIMIC_GROUP_GENERATE_MIPMAPS,
 
   86     GLS_MIMIC_GROUP_DRAW_MIMIC_POLYGON,
 
   87     GLS_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX,
 
   88     GLS_MIMIC_GROUP_CLEAR_COLOR,
 
   89     GLS_MIMIC_GROUP_USE_OPAQUE_TEXTURE
 
  125     friend class GlsMimicGroupEditor;
 
  134     GLSGEN_GLSMIMICGROUP_EXPORT 
GlsMimicGroup( 
bool generateInstance = 
false );
 
  136     GLSGEN_GLSMIMICGROUP_EXPORT GlsMimicGroup( 
const GlsMimicGroup& that, 
const bool generateNames );
 
  180     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void Draw( 
void );
 
  185     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void SetValue( 
int spec, va_list& args );
 
  196     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
unsigned int TextureWidth()
 const { 
return _textureWidth; }
 
  203     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void TextureWidth( 
unsigned int textureWidth );
 
  210     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
unsigned int TextureHeight()
 const { 
return _textureHeight; }
 
  217     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void TextureHeight( 
unsigned int textureHeight );
 
  224     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
bool HasDepthBuffer()
 const { 
return _hasDepthBuffer; }
 
  231     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void HasDepthBuffer( 
bool hasDepthBuffer );
 
  238     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
bool GenerateMipMaps()
 const { 
return _generateMipMaps; }
 
  245     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void GenerateMipMaps( 
bool generate );
 
  266     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
unsigned char MimicGroupDepthTest()
 const { 
return _mimicGroupDepthTest; }
 
  273     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void MimicGroupDepthTest( 
unsigned char depthSettings );
 
  352     GLSGEN_GLSMIMICGROUP_EXPORT 
bool ShowOutline( 
void )
 const { 
return _showOutline; }
 
  359     GLSGEN_GLSMIMICGROUP_EXPORT 
void ShowOutline( 
bool showOutline );
 
  366     GLSGEN_GLSMIMICGROUP_EXPORT 
bool Redraw( 
void )
 const { 
return _redraw; }
 
  373     GLSGEN_GLSMIMICGROUP_EXPORT 
void Redraw( 
bool redraw );
 
  380     GLSGEN_GLSMIMICGROUP_EXPORT 
bool UseOpaqueTexture( 
void )
 const { 
return _useOpaqueTexture; }
 
  394     virtual GLSGEN_GLSMIMICGROUP_EXPORT 
void SetMatrices();
 
  444     GLSGEN_GLSMIMICGROUP_EXPORT 
void Invalidate();
 
  508     bool          _mimicGroupActive;      
 
  510     bool          _hasDepthBuffer;        
 
  511     bool          _generateMipMaps;       
 
  513     bool          _drawMimicGroupPolygon; 
 
  514     unsigned char _mimicGroupDepthTest;   
 
  515     bool          _textureIndexChanged;
 
  519     int           _attachedTextureIndex;           
 
  520     unsigned int  _textureWidth;                   
 
  521     unsigned int  _textureHeight;                  
 
  522     unsigned int  _frameBufferHandle;              
 
  523     unsigned int  _depthBufferHandle;              
 
  524     Image*        _mimicGroupTexture;              
 
  525     unsigned int  _vertexBufferHandle;             
 
  528     bool          _useOpaqueTexture;               
 
virtual GlsColor ClearColor() const 
Definition: gls_mimic_group.h:280
static DisplayObject * CreateInstance()
bool ShowOutline(void) const 
Definition: gls_mimic_group.h:352
Definition: dynamic_array.h:62
virtual unsigned char MimicGroupDepthTest() const 
Definition: gls_mimic_group.h:266
The disti::Group class. Implements groups of objects. 
Class to contain current OpenGL view, projection and draw matrices. 
Definition: util.h:278
void ApplyMimicGroupTextureSettings()
DisplayObject * handle(DisplayEvent *displayEvent)
void LogUnsupportedFeatures()
virtual void PreDrawMimicGroupChildren(const OpenGLMatrices &parentMatrices, Culler &culler)
virtual bool GenerateMipMaps() const 
Definition: gls_mimic_group.h:238
void CreateDiffuseTexture()
Definition: gls_glo_file.h:835
Definition: gls_mimic_group.h:118
virtual void SetAvailableAttributes(unsigned int value)
The Image class. All textures are converted internally into Images. 
bool _overrideMimicGroupActive
Definition: gls_mimic_group.h:527
virtual bool DrawMimicGroupPolygon() const 
Definition: gls_mimic_group.h:252
void SetupMimicGroupDepthTest()
virtual bool HasDepthBuffer() const 
Definition: gls_mimic_group.h:224
virtual void SetMatrices()
virtual void CopyProperties(DisplayObject *src)
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
virtual unsigned int TextureWidth() const 
Definition: gls_mimic_group.h:196
Utility for common frame buffer support. 
bool Redraw(void) const 
Definition: gls_mimic_group.h:366
Definition: gls_color.h:53
bool MimicGroupActive(void)
Definition: gls_mimic_group.h:309
Vector TopRightCorner(void) const 
Definition: gls_mimic_group.h:345
bool _frameBuffersEnabledAndAttached
Definition: gls_mimic_group.h:526
virtual unsigned int TextureHeight() const 
Definition: gls_mimic_group.h:210
virtual void SetValue(int spec, va_list &args)
void CreateDepthTexture()
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
bool RequiredGlFeaturesSupported()
Vector BottomLeftCorner(void)
Definition: gls_mimic_group.h:331
void CreateMimicGroupQuad()
virtual DisplayObject * CloneObject(bool generateNames=false)
Macros and helper code to determine what subset of C++11/14/17 is available. 
bool VertexBuffersAreSupported()
Definition: bmpimage.h:46
bool UseOpaqueTexture(void) const 
Definition: gls_mimic_group.h:380
virtual int AttachedTextureIndex() const 
Definition: gls_mimic_group.h:294
void GetRegionCorners(Vector &topLeftCorner, Vector &topRightCorner, Vector &bottomRightCorner, Vector &bottomLeftCorner)
static bool _unsupportedLogged
Definition: gls_mimic_group.h:530