SLProject  4.2.000
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
SLCircle.h
Go to the documentation of this file.
1 /**
2  * \file SLCircle.h
3  * \date July 2014
4  * \authors Marcus Hudritsch
5  * \copyright http://opensource.org/licenses/GPL-3.0
6  * \remarks Please use clangformat to format the code. See more code style on
7  * https://github.com/cpvrlab/SLProject4/wiki/SLProject-Coding-Style
8 */
9 
10 #ifndef SL_CIRCLE_H
11 #define SL_CIRCLE_H
12 
13 #include <SLPolyline.h>
14 
15 //-----------------------------------------------------------------------------
16 /**
17  * @brief Circle line mesh derived from SLPolyline
18  * @remarks It is important that during instantiation NO OpenGL functions (gl*)
19  * get called because this constructor will be most probably called in a parallel
20  * thread from within an SLScene::registerAssetsToLoad or SLScene::assemble
21  * function. All objects that get rendered have to do their OpenGL initialization
22  * when they are used the first time during rendering in the main thread.
23  * For this mesh it means that the objects for OpenGL drawing (_vao, _vaoP,
24  * _vaoN, _vaoT and _vaoS) remain unused until the first frame is rendered.
25  */
26 class SLCircle : public SLPolyline
27 {
28 public:
29  SLCircle(SLAssetManager* assetMgr,
30  SLstring name = "Circle", SLMaterial* material = nullptr);
31 };
32 //-----------------------------------------------------------------------------
33 #endif
string SLstring
Definition: SL.h:158
Toplevel holder of the assets meshes, materials, textures and shaders.
Circle line mesh derived from SLPolyline.
Definition: SLCircle.h:27
SLCircle(SLAssetManager *assetMgr, SLstring name="Circle", SLMaterial *material=nullptr)
Definition: SLCircle.cpp:13
Defines a standard CG material with textures and a shader program.
Definition: SLMaterial.h:56
const SLstring & name() const
Definition: SLObject.h:38
SLPolyline creates a polyline object.
Definition: SLPolyline.h:23