40 #ifndef INCLUDED_DISTI_GROUP_H 
   41 #define INCLUDED_DISTI_GROUP_H 
   64     bool _performGroupCullCheck;
 
   68     bool _cullTestChildren;
 
   73     virtual GLS_EXPORT 
void onVertexchanged( 
void );
 
   76     void   DummySetUnsignedInt( 
const unsigned int& ) {} 
 
   77     Group& operator=( 
const Group& ) DISTI_SPECIAL_MEM_FUN_DELETE;
 
   78     Group( 
const Group& that ) DISTI_SPECIAL_MEM_FUN_DELETE;
 
   93     friend class GroupEditor;
 
  171     unsigned int Count( 
void )
 const { 
return _objects.
Count(); }
 
  197     GLS_EXPORT 
explicit Group( 
int generateInstance = FALSE );
 
  203     GLS_EXPORT 
Group( 
const Group& group, 
bool generateNames );
 
  213     virtual GLS_EXPORT 
~Group();
 
  233     virtual GLS_EXPORT 
void Draw( 
void );
 
  239     virtual GLS_EXPORT 
bool Hit( 
float x, 
float y, 
float z, 
float scale, 
const Vector& directionVector, 
Vector* collisionPoint );
 
  243         const Vector&                                       logicalCoords,
 
  245         const Vector&                                       directionVector,
 
  258     virtual GLS_EXPORT 
void CalculateBoundingBox( 
void );
 
  264     virtual GLS_EXPORT 
void Location( 
const Vertex& v ) DISTI_METHOD_OVERRIDE;
 
  265     virtual GLS_EXPORT 
void Location( 
float x, 
float y, 
float z );
 
  268     virtual GLS_EXPORT 
void Translate( 
float x, 
float y, 
float z );
 
  271     virtual GLS_EXPORT 
void Translate( 
float transAmount[] );
 
  280     virtual GLS_EXPORT 
void GetExtents( 
float& x, 
float& y, 
float& z, 
float& x1, 
float& y1, 
float& z1 );
 
  289     virtual GLS_EXPORT 
void Rotate( 
const Vector& orig, 
float angle, 
const Vector& axis );
 
  295     virtual GLS_EXPORT 
void Scale( 
const float scale_x, 
const float scale_y );
 
  298     virtual GLS_EXPORT 
void Scale( 
float scale_x, 
float scale_y, 
float scale_z, 
Vertex* anchor = NULL, 
int handle = 0 );
 
  306     virtual GLS_EXPORT 
void InsertObject( 
DisplayObject* obj, 
bool reparent = 
true, 
bool recalculateBoundingbox = 
true, 
int loc = -1 );
 
  320     virtual GLS_EXPORT 
void ReorderObject( 
unsigned int oldIndex, 
unsigned int newIndex );
 
  334     virtual GLS_EXPORT 
void DeleteVertex( 
unsigned int index );
 
  342     virtual GLS_EXPORT 
void InsertVertex( 
unsigned int index );
 
  357     virtual GLS_EXPORT 
void  LineWidth( 
float width ) DISTI_METHOD_OVERRIDE;
 
  358     virtual GLS_EXPORT 
float LineWidth( 
void ) DISTI_METHOD_OVERRIDE;
 
  366     virtual GLS_EXPORT 
int  PolygonMode( 
void ) DISTI_METHOD_OVERRIDE;
 
  367     virtual GLS_EXPORT 
void PolygonMode( 
int mode ) DISTI_METHOD_OVERRIDE;
 
  369     virtual GLS_EXPORT 
void PolygonEnd( const 
int mode ) DISTI_METHOD_OVERRIDE;
 
  370     virtual GLS_EXPORT 
int  PolygonEnd( 
void ) DISTI_METHOD_OVERRIDE;
 
  372     virtual GLS_EXPORT 
void Shading( const 
int mode ) DISTI_METHOD_OVERRIDE;
 
  373     virtual GLS_EXPORT 
int  Shading( 
void ) DISTI_METHOD_OVERRIDE;
 
  375     virtual GLS_EXPORT 
void DepthTest( 
unsigned char mode ) DISTI_METHOD_OVERRIDE;
 
  376     virtual GLS_EXPORT 
int  DepthTest( 
void ) DISTI_METHOD_OVERRIDE;
 
  378     virtual GLS_EXPORT 
void AntiAlias( 
bool mode ) DISTI_METHOD_OVERRIDE;
 
  379     virtual GLS_EXPORT 
bool AntiAlias( 
void ) DISTI_METHOD_OVERRIDE;
 
  381     virtual GLS_EXPORT 
void AlphaMode( 
int mode ) DISTI_METHOD_OVERRIDE;
 
  382     virtual GLS_EXPORT 
int  AlphaMode( 
void ) DISTI_METHOD_OVERRIDE;
 
  384     virtual GLS_EXPORT 
void CullBackFace( const 
bool mode ) DISTI_METHOD_OVERRIDE;
 
  385     virtual GLS_EXPORT 
bool CullBackFace( 
void ) DISTI_METHOD_OVERRIDE;
 
  388     virtual GLS_EXPORT 
void LightingEnabled( 
bool lighting ) DISTI_METHOD_OVERRIDE;
 
  393     virtual GLS_EXPORT 
void SetBlendColor( const 
GlsColor& color );
 
  398     virtual GLS_EXPORT 
GlsColor GetBlendColor( 
void );
 
  403     virtual GLS_EXPORT 
void SetColor( const 
GlsColor& color );
 
  408     virtual GLS_EXPORT 
GlsColor GetColor( 
void );
 
  413     virtual GLS_EXPORT 
void SetFillColor( const 
GlsColor& color );
 
  418     virtual GLS_EXPORT 
GlsColor GetFillColor( 
void );
 
  435     virtual GLS_EXPORT 
void Calculate( 
double time );
 
  447         GLS_EXPORT CompatabilityListItem();
 
  449         GLS_EXPORT CompatabilityListItem* Next();
 
  451         GLS_EXPORT CompatabilityListItem* Prev();
 
  455         static GLS_EXPORT 
void RecalcCompatabilityList( 
Group* whichGroup );
 
  473     virtual GLS_EXPORT 
void SetGroupTextureRepeat( 
const int mode );
 
DisplayObject * FindNonRecursive(DisplayObject *obj)
Definition: display_frame.h:85
virtual int PolygonEnd(void)
virtual const Vertex & Location(void) const 
unsigned int Count(void) const 
Definition: group.h:171
virtual GlsColor GetBlendColor(void)
virtual void InsertVertex(unsigned int index)
virtual float LineWidth(void)
virtual void GrowBoundingBox(DisplayObject *obj)
virtual void GetTransformedExtents(Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
virtual bool CullBackFace(void)
bool IsEmpty() const 
Definition: group.h:186
virtual void InsertObject(DisplayObject *obj, bool reparent=true, bool recalculateBoundingbox=true, int loc=-1)
The disti::DynamicArray class. A templated array of objects capable of dynamically growing...
Class to contain current OpenGL view, projection and draw matrices. 
Definition: util.h:301
T * begin(DynamicArray< T, TypeIsSimple > &array)
Overload begin() so that range-for loops and other constructs work with DynamicArray. 
Definition: dynamic_array.h:428
virtual void Calculate(double time)
virtual int DepthTest(void)
virtual int TextureMagnificationFilter(void)
virtual void GetExtents(float &x, float &y, float &z, float &x1, float &y1, float &z1)
DisplayFrame * Parent(void) const 
Definition: display.h:898
DisplayObject * Item(unsigned int index)
virtual int TextureMappingTechnique(void)
virtual int PolygonMode(void)
virtual DisplayObject * CloneObject(bool generateNames=false)
const DisplayObjectArray & Objects() const 
Definition: group.h:150
virtual void DeleteAllChildren()
DisplayObject * FirstObject()
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
virtual GlsColor GetFillColor(void)
virtual DisplayObject * Pick3D(const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
virtual void CopyGeometry(DisplayObject *src)
The disti::DisplayObject class and global enumerations. 
const DisplayObject * operator[](unsigned int index) const 
Definition: group.h:177
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
Definition: gls_painter.h:51
virtual int AlphaMode(void)
void SetPainter(GlsPainter *painter)
virtual void DeleteVertex(unsigned int index)
DisplayObjectPtr operator[](unsigned int index)
Definition: group.h:174
virtual void ReorderObject(unsigned int oldIndex, unsigned int newIndex)
virtual void PushObject(DisplayObject *obj)
virtual int Shading(void)
void Count(const unsigned int count)
Definition: dynamic_array.h:115
CompatabilityListItem * First()
virtual bool DeleteObject(DisplayObject *obj, bool recalculateBoundingbox=true)
virtual void PreDraw(const OpenGLMatrices ¤t, Culler &culler)
virtual GlsColor GetColor(void)
virtual int TextureMinificationFilter(void)
int Position(DisplayObject *obj)
T * end(DynamicArray< T, TypeIsSimple > &array)
Overload end() so that range-for loops and other constructs work with DynamicArray. 
Definition: dynamic_array.h:450
CompatabilityListItem * Last()
bool CullTestChildren(void) const 
Definition: group.h:165
DisplayObject * FindByName(const char *name)
virtual void SetFillColor(const GlsColor &color)
void InitialGroupCount(unsigned int cnt)
virtual void InsertVertex(unsigned int index)
virtual void Translate(float x, float y, float z)
bool PerformGroupCullCheck(void) const 
Definition: group.h:159
virtual bool AntiAlias(void)
Definition: gls_color.h:53
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
virtual void Rotate(float angle, int axis=Z_AXIS)
char * InstanceName(void)
virtual bool LightingEnabled()
virtual void SetColor(const GlsColor &color)
virtual void SetAvailableAttributes(unsigned int value)
virtual void SetGroupLocation(const Vertex &v)
DisplayObject * LastObject(void)
virtual void DeleteVertex(unsigned int index)
virtual void CalculateTextureCoordinates(void)
DisplayObject * FindByName(DisplayObject *obj)
Definition: group.h:127
DisplayObject * FindByQualifiedName(const char *name)
void Scale(int handleBar, float px, float py, Vertex *anchor=NULL)
Definition: display.h:1112
virtual int LineStipplePattern(void)
virtual void GetResources(std::ostream &outstr, GlsResourceFilter *filter=NULL)
virtual void TranslateVertices(float x, float y, float z)
virtual void SetBlendColor(const GlsColor &color)
virtual void Rotate(const Vector &orig, float angle, const Vector &axis)
virtual DisplayObject * FindByNameSameFrame(const char *name)
DisplayObjectArray & Objects()
Definition: group.h:147
Definition: gls_resources.h:50
virtual bool TextureRepeat(void)
Macros and helper code to determine what subset of C++11/14/17 is available. 
Definition: bmpimage.h:46
virtual int LineStippleMultiplier(void)
virtual void AddAvailableAttributes(unsigned int availableAttributes)
virtual void CopyProperties(DisplayObject *src)
virtual DisplayObject * handle(DisplayEvent *ev)