|
WhirlyGlobe
1.1
A 3D interactive globe toolkit for ios
|
#include <Drawable.h>
Classes | |
| class | Triangle |
| Simple triangle. Can obviously only have 2^16 vertices. More... | |
Public Member Functions | |
| BasicDrawable () | |
| Construct empty. | |
| BasicDrawable (unsigned int numVert, unsigned int numTri) | |
| You can violate this, but it will reserve space. | |
| virtual void | setupGL (float minZres) |
| Set up the VBOs. | |
| virtual void | teardownGL () |
| Clean up the VBOs. | |
| virtual void | draw (GlobeScene *scene) const |
| Fill this in to draw the basic drawable. | |
| virtual unsigned int | getDrawPriority () const |
| Draw priority. | |
| virtual bool | isOn (WhirlyGlobeView *view) const |
| We use the on/off flag as well as a visibility check. | |
| void | setOnOff (bool onOff) |
| True to turn it on, false to turn it off. | |
| virtual bool | hasAlpha () const |
| Used for alpha sorting. | |
| void | setAlpha (bool onOff) |
| Set the alpha sorting on or off. | |
| virtual GeoMbr | getGeoMbr () const |
| Extents used for display culling. | |
| void | setGeoMbr (GeoMbr mbr) |
| Set extents (don't forget this) | |
| void | setDrawPriority (unsigned int newPriority) |
| Set the draw priority. We sort by draw priority before rendering. | |
| unsigned int | getDrawPriority () |
| void | setDrawOffset (unsigned int newOffset) |
| unsigned int | getDrawOffset () |
| void | setType (GLenum inType) |
| Set the geometry type. Probably triangles. | |
| GLenum | getType () const |
| void | setTexId (SimpleIdentity inId) |
| Set the texture ID. You get this from the Texture object. | |
| void | setColor (RGBAColor inColor) |
| Set the color as an RGB color. | |
| void | setColor (unsigned char inColor[]) |
| Set the color as an array. | |
| RGBAColor | getColor () const |
| void | setVisibleRange (float minVis, float maxVis) |
| void | getVisibleRange (float &minVis, float &maxVis) |
| Retrieve the visibile range. | |
| unsigned int | addPoint (Point3f pt) |
| Add a point when building up geometry. Returns the index. | |
| void | addTexCoord (TexCoord coord) |
| Add a texture coordinate. | |
| void | addNormal (Point3f norm) |
| Add a normal. | |
| void | addTriangle (Triangle tri) |
| Add a triangle. Should point to the vertex IDs. | |
| unsigned int | getNumPoints () const |
| Return the number of points added so far. | |
| unsigned int | getNumTris () const |
| Return the number of triangles added so far. | |
| unsigned int | getNumNorms () const |
| Return the number of normals added so far. | |
| unsigned int | getNumTexCoords () const |
| Return the number of texture coordinates added so far. | |
| void | addRect (const Point3f &l0, const Vector3f &ln0, const Point3f &l1, const Vector3f &ln1, float width) |
Protected Member Functions | |
| void | drawReg (GlobeScene *scene) const |
| void | drawVBO (GlobeScene *scene) const |
Protected Attributes | |
| bool | on |
| unsigned int | drawPriority |
| unsigned int | drawOffset |
| bool | isAlpha |
| GeoMbr | geoMbr |
| GLenum | type |
| SimpleIdentity | texId |
| RGBAColor | color |
| float | minVisible |
| float | maxVisible |
| unsigned int | numPoints |
| unsigned int | numTris |
| std::vector< Vector3f > | points |
| std::vector< Vector2f > | texCoords |
| std::vector< Vector3f > | norms |
| std::vector< Triangle > | tris |
| GLuint | pointBuffer |
| GLuint | texCoordBuffer |
| GLuint | normBuffer |
| GLuint | triBuffer |
The Basic Drawable is the one we use the most. It's a general purpose container for static geometry which may or may not be textured.
| WhirlyGlobe::BasicDrawable::BasicDrawable | ( | unsigned int | numVert, |
| unsigned int | numTri | ||
| ) |
You can violate this, but it will reserve space.
Construct with some idea how big things are.
| void WhirlyGlobe::BasicDrawable::setDrawOffset | ( | unsigned int | newOffset | ) | [inline] |
Set the draw offset. This is an integer offset from the base terrain. Geometry is moved upward by a certain number of units.
| void WhirlyGlobe::BasicDrawable::setVisibleRange | ( | float | minVis, |
| float | maxVis | ||
| ) | [inline] |
Set what range we can see this drawable within. The units are in distance from the center of the globe and the surface of the globe as at 1.0