Mali OpenGL ES SDK  2.0.0
A simple framework to aid development of OpenGL ES applications targeting ARM Mali platforms.
 All Classes Files Functions Variables Enumerations Enumerator
Geometry.h
1 /*
2  * This confidential and proprietary software may be used only as
3  * authorised by a licensing agreement from ARM Limited
4  * (C) COPYRIGHT 2012 ARM Limited
5  * ALL RIGHTS RESERVED
6  * The entire notice above must be reproduced on all authorised
7  * copies and copies may only be made to the extent permitted
8  * by a licensing agreement from ARM Limited.
9  */
10 
11 #ifndef GEOMETRY_H
12 #define GEOMETRY_H
13 
14 namespace MaliSDK
15 {
19  class Geometry
20  {
21  public:
33  static void calculateTorusControlPointsIndices(unsigned int patchDimension, unsigned int patchInstancesCount, unsigned int controlPointsIndicesCount, unsigned int* controlPointsIndices);
34 
42  static void calculateTorusPatchData(unsigned int patchDensity, float* patchVertices, unsigned int* patchTriangleIndices);
43 
51  static void calculateTorusWireframeIndices(unsigned int circlesCount, unsigned int pointsPerCircleCount, unsigned int* indices);
52 
63  static void generateTorusVertices(float torusRadius, float cirlceRadius, unsigned int circlesCount, unsigned int poitsPerCircleCount, float* torusVertices);
64 
78  static void generateBezierTorusVertices(float torusRadius, float circleRadius, float* torusVertices);
79 
88  static void getSpherePointRepresentation(const float radius, const int numberOfSamples, int* numberOfCoordinates, float** sphereCoordinates);
89 
116  static void getSphereTriangleRepresentation(const float radius, const int numberOfSamples, int* numberOfCoordinates, float** sphereTrianglesCoordinates);
117 
125  static void getCubeTriangleRepresentation(float scalingFactor, int* numberOfCoordinates, float** cubeTrianglesCoordinates);
126 
131  static void getCubeNormals(int* numberOfCoordinates, float** cubeNormals);
132 
138  static void getSquareTriangleRepresentationInXZSpace(float scalingFactor, int* numberOfCoordinates, float** squareCoordinates);
139 
144  static void getSquareXZNormals(int* numberOfCoordinates, float** squareNormals);
145 
146  };
147 }
148 #endif /* GEOMETRY_H */