Free Electron
DrawMaya.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __maya_DrawMaya_h__
8 #define __maya_DrawMaya_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Draw via Maya MUIDrawManager
17 
18  @ingroup maya
19 *//***************************************************************************/
20 class FE_DL_EXPORT DrawMaya:
21  public DrawCommon,
22  public Initialize<DrawMaya>
23 {
24  public:
25  DrawMaya(void): m_pMUIDrawManager(NULL) {}
26 virtual ~DrawMaya(void) {}
27 
28  void initialize(void);
29 
30  //* as DrawI
31 
32 virtual Real multiplication(void);
33 
34 virtual sp<FontI> font(void) { return m_spFont; }
35 
36 virtual void drawAlignedText(const SpatialVector& location,
37  const String text,const Color& color);
38 
40 
41 virtual void drawPoints(const SpatialVector *vertex,
42  const SpatialVector *normal,U32 vertices,
43  BWORD multicolor,const Color *color,
44  sp<DrawBufferI> spDrawBuffer);
45 
47 
48 virtual void drawLines(const SpatialVector *vertex,
49  const SpatialVector *normal,U32 vertices,
50  StripMode strip,
51  BWORD multicolor,const Color *color,
52  BWORD multiradius,const Real *radius,
53  const Vector3i *element,U32 elementCount,
54  sp<DrawBufferI> spDrawBuffer);
55 
57 
58 virtual void drawTriangles(const SpatialVector *vertex,
59  const SpatialVector *normal,
60  const Vector2 *texture,U32 vertices,
61  StripMode strip,BWORD multicolor,
62  const Color* color,
63  const Array<I32>* vertexMap,
64  const Array<I32>* hullPointMap,
65  const Array<Vector4i>* hullFacePoint,
66  sp<DrawBufferI> spDrawBuffer);
67 
68 virtual void drawRectangles(const SpatialVector *vertex,U32 vertices,
69  BWORD multicolor,const Color *color);
70 
71  //* Maya specific
72 
73  void setDrawManager(
74  MHWRender::MUIDrawManager* a_pMUIDrawManager)
75  { m_pMUIDrawManager=a_pMUIDrawManager; }
76  MHWRender::MUIDrawManager* drawManager(void)
77  { return m_pMUIDrawManager; }
78 
79  private:
80  MHWRender::MUIDrawManager* m_pMUIDrawManager;
81 
82  Real m_multiplication;
83  sp<FontI> m_spFont;
84 };
85 
86 } /* namespace ext */
87 } /* namespace fe */
88 
89 #endif /* __maya_DrawMaya_h__ */
virtual void drawPoints(const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, BWORD multicolor, const Color *color)
Draw points vertex[vertices].
Definition: DrawCommon.cc:222
Drawing functions not specific to the graphics language.
Definition: DrawCommon.h:32
kernel
Definition: namespace.dox:3
StripMode
Format of vertices for tri-stripping.
Definition: DrawI.h:26
virtual sp< FontI > font(void)
Get current font.
Definition: DrawMaya.h:34
virtual void drawTriangles(const SpatialVector *vertex, const SpatialVector *normal, const Vector2 *texture, U32 vertices, StripMode strip, BWORD multicolor, const Color *color)
Draw triangles.
Definition: DrawCommon.cc:257
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Special vector for color (RGBA)
Definition: Color.h:21
Automatically reference-counted string container.
Definition: String.h:128
virtual void drawLines(const SpatialVector *vertex, const SpatialVector *normal, U32 vertices, StripMode strip, BWORD multicolor, const Color *color)
Draw lines.
Definition: DrawCommon.cc:238
Draw via Maya MUIDrawManager.
Definition: DrawMaya.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53