40#ifndef _GLS_ANGULAR_SCALE_H
41#define _GLS_ANGULAR_SCALE_H
53#if( defined( GLSGEN_EXPORT_GLSANGULARSCALE ) || defined( GLSGEN_IMPORT_GLSANGULARSCALE ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
54 && defined( _MSC_VER )
55# if defined( GLSGEN_EXPORT_GLSANGULARSCALE ) || defined( GLS_EXPORT_GENERATED )
56# define GLSGEN_GLSANGULARSCALE_EXPORT __declspec( dllexport )
58# define GLSGEN_GLSANGULARSCALE_EXPORT __declspec( dllimport )
61# define GLSGEN_GLSANGULARSCALE_EXPORT
66#define LIB_BASE_NAME "gls_angular_scale"
74class GlsGloFileAttribute;
79 GLS_ANGULAR_SCALE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1,
80 GLS_ANGULAR_SCALE_RADII,
81 GLS_ANGULAR_SCALE_DECONFLICT_TICKS,
82 GLS_ANGULAR_SCALE_HALO_ENABLED,
83 GLS_ANGULAR_SCALE_HALO_WIDTH,
84 GLS_ANGULAR_SCALE_HALO_COLOR,
85 GLS_ANGULAR_SCALE_USE_SCALABLE_LINES,
86 GLS_ANGULAR_SCALE_RADIUS,
87 GLS_ANGULAR_SCALE_DATA
114 ,
color( 255, 255, 255, 255 )
209#define GLS_ANGULAR_SCALE_MAX 5
216 friend class GlsAngularScaleEditor;
223 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
363 _geometryRefresh =
true;
445 void DrawScale(
int i,
float haloLength,
float haloThickness );
Definition: disti_metadata.h:87
Definition: callback_caller_base.h:56
Definition: disti_metadata.h:734
void CopyCommonValues(const DistiAttribDict &dict)
Definition: disti_metadata.h:220
Definition: gls_angular_scale.h:492
DistiAttributeConnectionGlsAngularScaleDataArray(CallbackMethodCallerBase *callback, const AttributeName &name, GlsAngularScaleDataArray *attribPtr, int arraySize)
Definition: gls_angular_scale.h:503
virtual std::istream & ReadValue(std::istream &instr) DISTI_METHOD_OVERRIDE
unsigned int _arraySize
Always GLS_ANGULAR_SCALE_MAX.
Definition: gls_angular_scale.h:495
virtual bool OkToWrite() const DISTI_METHOD_OVERRIDE
GlsAngularScaleDataArray * _attribPtr
Observer of the underlying storage for the property.
Definition: gls_angular_scale.h:494
virtual std::ostream & WriteValue(std::ostream &outstr) DISTI_METHOD_OVERRIDE
Definition: dynamic_array.h:79
The Polygon class. Implements Polygons.
Definition: glpolygon.h:56
Definition: gls_angular_scale.h:92
bool active
Definition: gls_angular_scale.h:97
GlsAngularScaleData(const GlsAngularScaleData &src)
Definition: gls_angular_scale.h:151
virtual std::ostream & WriteValue(std::ostream &outstr)
bool operator==(const GlsAngularScaleData &right) const
float startAngle
Definition: gls_angular_scale.h:100
float length
Definition: gls_angular_scale.h:102
GlsAngularScaleData(bool _active, bool _useLineColor, unsigned int _ticks, float _startAngle, float _interval, float _length, float _thickness, const GlsColor &_color)
Definition: gls_angular_scale.h:128
DistiAttribDict _attribDict
The attribute dictionary for this class' members.
Definition: gls_angular_scale.h:94
float interval
Definition: gls_angular_scale.h:101
float thickness
Definition: gls_angular_scale.h:103
GlsColor color
Definition: gls_angular_scale.h:104
virtual std::istream & ReadValue(std::istream &instr)
GlsAngularScaleData & operator=(const GlsAngularScaleData &src)
Definition: gls_angular_scale.h:160
unsigned int ticks
Definition: gls_angular_scale.h:99
bool useLineColor
Definition: gls_angular_scale.h:98
void InitMetaData()
Create DistiAttributes for this object's members.
bool operator!=(const GlsAngularScaleData &right) const
Definition: gls_angular_scale.h:190
Definition: gls_angular_scale.h:215
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE
void SetLineColor(const GlsColor &color)
Definition: gls_angular_scale.h:269
float _currentLineWidth
Definition: gls_angular_scale.h:412
GlsColor _haloColor
Definition: gls_angular_scale.h:482
virtual void SetAvailableAttributes(unsigned int value) DISTI_METHOD_OVERRIDE
void GetScale(int index, GlsAngularScaleData &data)
virtual void Draw() DISTI_METHOD_OVERRIDE
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) DISTI_METHOD_OVERRIDE
virtual void DrawGeometry()
void CurrentLineWidth(const float &newLineWidth)
float Radius()
Definition: gls_angular_scale.h:349
GlsColor HaloColor()
Definition: gls_angular_scale.h:327
virtual void SetColor(const GlsColor &color) DISTI_METHOD_OVERRIDE
void DeconflictTicks(const bool &val)
void SetScale(int index, const GlsAngularScaleData &data)
virtual DisplayObject * CloneObject(bool generateNames=false) DISTI_METHOD_OVERRIDE
void HaloEnabled(const bool &val)
void CurrentColor(const GlsColor &newColor)
bool _haloEnabled
Definition: gls_angular_scale.h:476
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
virtual void PreDraw(const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
GlsAngularScaleDataArray _scale
Definition: gls_angular_scale.h:470
void UseScalableLines(const bool &val)
bool DeconflictTicks()
Definition: gls_angular_scale.h:302
float _haloWidth
Definition: gls_angular_scale.h:479
virtual void SetValue(int spec, va_list &args) DISTI_METHOD_OVERRIDE
GlsDisplayList & DisplayList()
Definition: gls_angular_scale.h:375
virtual void Rotate(const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
bool HaloEnabled()
Definition: gls_angular_scale.h:307
DisplayObject * handle(DisplayEvent *ev) DISTI_METHOD_OVERRIDE
virtual Vertex * Vertices() DISTI_METHOD_OVERRIDE
bool _useScalableLines
Definition: gls_angular_scale.h:486
float HaloWidth()
Definition: gls_angular_scale.h:317
static DisplayObject * CreateInstance()
virtual void GetExtents(float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) DISTI_METHOD_OVERRIDE
Vector _radii[2]
Definition: gls_angular_scale.h:461
virtual void CopyGeometry(DisplayObject *srcArg) DISTI_METHOD_OVERRIDE
GlsDisplayList _displayList
Definition: gls_angular_scale.h:423
void DrawScale(int i, float haloLength, float haloThickness)
void HaloColor(const GlsColor &val)
GlsColor _currentColor
Definition: gls_angular_scale.h:408
void Radius(const float &val)
void CalculateRadiiUnit()
Vector _radiiUnit[2]
Definition: gls_angular_scale.h:464
virtual void Scale(float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
virtual void CopyProperties(DisplayObject *src) DISTI_METHOD_OVERRIDE
bool _deconflictTicks
Definition: gls_angular_scale.h:473
virtual void UpdateBoundingVolume() DISTI_METHOD_OVERRIDE
virtual void GetTransformedExtents(Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax) DISTI_METHOD_OVERRIDE
void HaloWidth(const float &val)
void InvalidateGeometry()
Definition: gls_angular_scale.h:368
bool _currentLineWidthSet
Definition: gls_angular_scale.h:420
bool UseScalableLines()
Definition: gls_angular_scale.h:338
bool _needsRecalculate
Definition: gls_angular_scale.h:380
bool _currentColorSet
Definition: gls_angular_scale.h:416
float _magnitude[2]
Definition: gls_angular_scale.h:467
bool TickNeeded(int currentLevel, float currentAngle)
virtual void AntiAlias(bool alias) DISTI_METHOD_OVERRIDE
Definition: gls_color.h:54
Definition: gls_display_list.h:51
void Invalidate()
Definition: gls_display_list.h:85
Definition: gls_glo_file.h:1243
Definition: gls_quad_storage.h:64
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
The disti::GLPolygon class. Implements Polygons.
#define GLSGEN_GLSANGULARSCALE_EXPORT
Provides support for creating DLLs.
Definition: gls_angular_scale.h:61
#define GLS_ANGULAR_SCALE_MAX
The maximum number of unique tick mark types.
Definition: gls_angular_scale.h:209
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
The disti::GlsDisplayList class.
The disti::GlsQuadListVC_3D and GlsQuadListVCT_2D classes.
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47
GlsAngularScaleData GlsAngularScaleDataArray[5]
Typedef for one GlsAngularScale worth of scale data.
Definition: gls_angular_scale.h:211