HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GR_ShapeFactory.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GR_ShapeFactory ( GR Library, C++)
7  *
8  * COMMENTS:
9  * Generates basic shapes in the form of RE_Geometry objects.
10  * Wireframe versions are connectivity group RE_GEO_WIRE_IDX.
11  * Shaded versions (if applicable) are in RE_GEO_SHADED_IDX.
12  */
13 #ifndef GR_ShapeFactory_h
14 #define GR_ShapeFactory_h
15 
16 #include "GR_API.h"
17 #include <UT/UT_UniquePtr.h>
18 #include <UT/UT_VectorTypes.h>
19 #include <RE/RE_RenderContext.h>
20 
21 class RE_RenderContext;
22 class RV_Geometry;
23 
24 namespace GR_ShapeFactory
25 {
26 
28 {
32 };
33 
36  UT_UniquePtr<RV_Geometry> &out_geo);
37 
38 GR_API extern bool buildBox(RE_RenderContext r,
39  UT_Vector3F center,
41  UT_UniquePtr<RV_Geometry> &out_geo);
42 
44  UT_Vector3F p0,
45  UT_Vector3F p1,
46  UT_UniquePtr<RV_Geometry> &out_geo);
47 
49  UT_Vector3F center,
50  UT_Vector2F radius,
52  UT_UniquePtr<RV_Geometry> &out_geo);
53 
55  UT_Vector3F center,
56  UT_Vector2F radius,
57  fpreal length,
59  UT_UniquePtr<RV_Geometry> &out_geo);
60 
62  UT_Vector3F center,
63  UT_Vector3F radius,
65 
66 // simple bone
68  UT_UniquePtr<RV_Geometry> &out_geo);
69 
71  UT_UniquePtr<RV_Geometry> &out_geo);
72 }
73 
74 #endif
Object that represents drawable geometry. This object holds vertex, instancing and index buffers for ...
Definition: RV_Geometry.h:165
GLuint GLsizei GLsizei * length
Definition: glcorearb.h:795
Temporary container for either a RV_Render and an RE_Render.
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:39
GR_API bool buildGrid(RE_RenderContext r, UT_Vector2F size, UT_UniquePtr< RV_Geometry > &out_geo)
#define GR_API
Definition: GR_API.h:10
GA_API const UT_StringHolder orient
GR_API bool buildLine(RE_RenderContext r, UT_Vector3F p0, UT_Vector3F p1, UT_UniquePtr< RV_Geometry > &out_geo)
GLsizeiptr size
Definition: glcorearb.h:664
GR_API bool buildSolverBone(RE_RenderContext r, UT_UniquePtr< RV_Geometry > &out_geo)
GR_API bool buildBone(RE_RenderContext r, UT_UniquePtr< RV_Geometry > &out_geo)
fpreal64 fpreal
Definition: SYS_Types.h:283
GR_API bool buildCircle(RE_RenderContext r, UT_Vector3F center, UT_Vector2F radius, Orientation orient, UT_UniquePtr< RV_Geometry > &out_geo)
GR_API bool buildSphere(RE_RenderContext r, UT_Vector3F center, UT_Vector3F radius, UT_UniquePtr< RV_Geometry > &geo)
GLboolean r
Definition: glcorearb.h:1222
GR_API bool buildCylinder(RE_RenderContext r, UT_Vector3F center, UT_Vector2F radius, fpreal length, Orientation orient, UT_UniquePtr< RV_Geometry > &out_geo)
GR_API bool buildBox(RE_RenderContext r, UT_Vector3F center, UT_Vector3F size, UT_UniquePtr< RV_Geometry > &out_geo)