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 );
75 Group& operator=(
const Group& ) DISTI_SPECIAL_MEM_FUN_DELETE;
76 Group(
const Group& that ) DISTI_SPECIAL_MEM_FUN_DELETE;
91 friend class GroupEditor;
163 unsigned int Count(
void )
const {
return _objects.
Count(); }
186 GLS_EXPORT
explicit Group(
int generateInstance = FALSE );
192 GLS_EXPORT
Group(
const Group& group,
bool generateNames );
202 virtual GLS_EXPORT
~Group();
222 virtual GLS_EXPORT
void Draw(
void );
228 virtual GLS_EXPORT
bool Hit(
float x,
float y,
float z,
float scale,
const Vector& directionVector,
Vector* collisionPoint );
232 const Vector& logicalCoords,
234 const Vector& directionVector,
244 virtual GLS_EXPORT
void CalculateBoundingBox(
void );
250 virtual GLS_EXPORT
void Location(
const Vertex& v ) DISTI_METHOD_OVERRIDE;
251 virtual GLS_EXPORT
void Location(
float x,
float y,
float z );
254 virtual GLS_EXPORT
void Translate(
float x,
float y,
float z );
257 virtual GLS_EXPORT
void Translate(
float transAmount[] );
266 virtual GLS_EXPORT
void GetExtents(
float& x,
float& y,
float& z,
float& x1,
float& y1,
float& z1 );
275 virtual GLS_EXPORT
void Rotate(
const Vector& orig,
float angle,
const Vector& axis );
281 virtual GLS_EXPORT
void Scale(
const float scale_x,
const float scale_y );
284 virtual GLS_EXPORT
void Scale(
float scale_x,
float scale_y,
float scale_z,
Vertex* anchor = NULL,
int handle = 0 );
292 virtual GLS_EXPORT
void InsertObject(
DisplayObject* obj,
bool reparent =
true,
bool recalculateBoundingbox =
true,
int loc = -1 );
306 virtual GLS_EXPORT
void ReorderObject(
unsigned int oldIndex,
unsigned int newIndex );
320 virtual GLS_EXPORT
void DeleteVertex(
unsigned int index );
328 virtual GLS_EXPORT
void InsertVertex(
unsigned int index );
343 virtual GLS_EXPORT
void LineWidth(
float width ) DISTI_METHOD_OVERRIDE;
344 virtual GLS_EXPORT
float LineWidth(
void ) DISTI_METHOD_OVERRIDE;
352 virtual GLS_EXPORT
int PolygonMode(
void ) DISTI_METHOD_OVERRIDE;
353 virtual GLS_EXPORT
void PolygonMode(
int mode ) DISTI_METHOD_OVERRIDE;
355 virtual GLS_EXPORT
void PolygonEnd( const
int mode ) DISTI_METHOD_OVERRIDE;
356 virtual GLS_EXPORT
int PolygonEnd(
void ) DISTI_METHOD_OVERRIDE;
358 virtual GLS_EXPORT
void Shading( const
int mode ) DISTI_METHOD_OVERRIDE;
359 virtual GLS_EXPORT
int Shading(
void ) DISTI_METHOD_OVERRIDE;
361 virtual GLS_EXPORT
void DepthTest(
unsigned char mode ) DISTI_METHOD_OVERRIDE;
362 virtual GLS_EXPORT
int DepthTest(
void ) DISTI_METHOD_OVERRIDE;
364 virtual GLS_EXPORT
void AntiAlias(
bool mode ) DISTI_METHOD_OVERRIDE;
365 virtual GLS_EXPORT
bool AntiAlias(
void ) DISTI_METHOD_OVERRIDE;
367 virtual GLS_EXPORT
void AlphaMode(
int mode ) DISTI_METHOD_OVERRIDE;
368 virtual GLS_EXPORT
int AlphaMode(
void ) DISTI_METHOD_OVERRIDE;
370 virtual GLS_EXPORT
void CullBackFace( const
bool mode ) DISTI_METHOD_OVERRIDE;
371 virtual GLS_EXPORT
bool CullBackFace(
void ) DISTI_METHOD_OVERRIDE;
374 virtual GLS_EXPORT
void LightingEnabled(
bool lighting ) DISTI_METHOD_OVERRIDE;
379 virtual GLS_EXPORT
void SetBlendColor( const
GlsColor& color );
384 virtual GLS_EXPORT
GlsColor GetBlendColor(
void );
389 virtual GLS_EXPORT
void SetColor( const
GlsColor& color );
394 virtual GLS_EXPORT
GlsColor GetColor(
void );
399 virtual GLS_EXPORT
void SetFillColor( const
GlsColor& color );
404 virtual GLS_EXPORT
GlsColor GetFillColor(
void );
421 virtual GLS_EXPORT
void Calculate(
double time );
433 GLS_EXPORT CompatabilityListItem();
435 GLS_EXPORT CompatabilityListItem* Next();
437 GLS_EXPORT CompatabilityListItem* Prev();
441 static GLS_EXPORT
void RecalcCompatabilityList(
Group* whichGroup );
DisplayObject * FindNonRecursive(DisplayObject *obj)
Definition: display_frame.h:83
virtual int PolygonEnd(void)
virtual const Vertex & Location(void) const
unsigned int Count(void) const
Definition: group.h:163
virtual GlsColor GetBlendColor(void)
virtual void InsertVertex(unsigned int index)
virtual float LineWidth(void)
virtual void GetTransformedExtents(Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
virtual bool CullBackFace(void)
bool IsEmpty() const
Definition: group.h:175
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:278
void GrowBoundingBox(DisplayObject *obj)
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:897
DisplayObject * Item(unsigned int index)
Definition: group.h:148
virtual int TextureMappingTechnique(void)
virtual int PolygonMode(void)
virtual DisplayObject * CloneObject(bool generateNames=false)
virtual void DeleteAllChildren()
virtual bool TextureRepeat(void)
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.
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
virtual int AlphaMode(void)
virtual void DeleteVertex(unsigned int index)
DisplayObjectPtr operator[](unsigned int index)
Definition: group.h:166
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)
CompatabilityListItem * Last()
bool CullTestChildren(void) const
Definition: group.h:157
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:151
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:125
DisplayObject * FindByQualifiedName(const char *name)
void Scale(int handleBar, float px, float py, Vertex *anchor=NULL)
Definition: display.h:1111
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)
Definition: gls_resources.h:50
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)
DisplayObjectArray & Objects(void)
Definition: group.h:145
virtual void CopyProperties(DisplayObject *src)
virtual DisplayObject * handle(DisplayEvent *ev)