# Canvas3D Klassenreferenz

Schnittstelle zur Render-Engine. Beinhaltet OS-spezifische Unterscheidungen. Mehr ...

`#include <Canvas3D.h>`

Aufstellung aller Elemente

## Öffentliche Methoden
void | paint (void)
| Zentrale Methode zum Rendern der Map.
bool | init (char *fname)
| initialisiert die Canvas - Laedt die binare Mapdatei
void | initialize (int widthCanvas, int heightCanvas, int width, int height)
| Initialisiert die Canvas und den Renderer.
void | renderFrame (void)
| Rendert ein Frame in das Image.
bool | inputKey (bool pressed, int key)
| Eingabe und Konvertierung eines keycodes.
double | getFrameRate (void)
| Getter fuer die Framerate.
int | getTilesPerFrame (void)
| Getter fuer die Anzahl der gerenderten Tiles im aktuellen Frame.
int | getPartikelsPerFrame (void)
| Getter fuer die Anzahl der gerenderten Partikel im aktuellen Frame.
virtual | ~Canvas3D ()
| Destruktor.
## Öffentliche, statische Methoden
static Canvas3D * | getInstance ()
| Liefert die Singleton-Instanz.
## Öffentliche Attribute
BYTE * | m_pDiData
## Geschützte Methoden
| Canvas3D ()
| Konstruktor.
## Private Methoden
bool | createImage ()
| Erstellt das Image (hier fuer Mac/OpenGL als einfachen Speicherbereich (BYTE-Array).
void | InitBitmap (BYTE *pDiData, int cxWinSize, int cyWinSize)
| Initialisiert die Bitmap.
void | flipImage (void)
| Windows-Bitmap --> OpenGL Image: 1. Ursprung von oben links nach unten links 2. BGR --> RGB.
## Private Attribute
Engine * | m_engine
int | m_widthCanvas
int | m_heightCanvas
int | m_height
int | m_width
int | m_startX
int | m_startY
BYTE * | m_pDib
## Statische private Attribute
static Canvas3D * | _instance = 0

## Ausführliche Beschreibung

Schnittstelle zur Render-Engine. Beinhaltet OS-spezifische Unterscheidungen.

## Beschreibung der Konstruktoren und Destruktoren

Canvas3D::Canvas3D | ( |  | ) | `[protected]`

Konstruktor.

Canvas3D::~Canvas3D | ( |  | ) | `[virtual]`

Destruktor.

## Dokumentation der Elementfunktionen

Canvas3D * Canvas3D::getInstance | ( |  | ) | `[static]`

Liefert die Singleton-Instanz.

Rückgabe:
  Pointer auf die Instanz

bool Canvas3D::createImage | ( |  | ) | `[private]`

Erstellt das Image (hier fuer Mac/OpenGL als einfachen Speicherbereich (BYTE-Array).

Rückgabe:
  true-->OK, false-->Fehler

void Canvas3D::InitBitmap | ( | BYTE * | pDiData,
|  | int | cxWinSize,
|  | int | cyWinSize |
| ) |  |  | `[private]`

Initialisiert die Bitmap.

Parameter:

  | pDiData | Pointer auf Bitmap
  | cxWinSize | Breite der Bitmap
  | cyWinSize | Hoehe der Bitmap

void Canvas3D::flipImage | ( | void |  | ) | `[private]`

Windows-Bitmap --> OpenGL Image: 1. Ursprung von oben links nach unten links 2. BGR --> RGB.

void Canvas3D::paint | ( | void |  | ) |

Zentrale Methode zum Rendern der Map.

Zentrale Methode zum Rendern der Map

bool Canvas3D::init | ( | char * | datFile | ) |

initialisiert die Canvas - Laedt die binare Mapdatei

Parameter:

  | datFile | Pfad-Dateiname+Extension der (binaeren) Mapdatei

Rückgabe:
  true-->OK, false-->

void Canvas3D::initialize | ( | int | widthCanvas,
|  | int | heightCanvas,
|  | int | width,
|  | int | height |
| ) |  |  |

Initialisiert die Canvas und den Renderer.

Parameter:

  | widthCanvas | Breite der Canvas
  | heightCanvas | Hoehe der Canvas
  | width | Breite
  | height | Hoehe

void Canvas3D::renderFrame | ( | void |  | ) |

Rendert ein Frame in das Image.

bool Canvas3D::inputKey | ( | bool | pressed,
|  | int | key |
| ) |  |  |

Eingabe und Konvertierung eines keycodes.

Parameter:

  | pressed | true-->Taste wurde gedrueckt, false->Taste wurde losgelassen
  | key | Keycode (Anhaengig vom Betriebssystem)

double Canvas3D::getFrameRate | ( | void |  | ) |

Getter fuer die Framerate.

Rückgabe:
  frames per second

int Canvas3D::getTilesPerFrame | ( | void |  | ) |

Getter fuer die Anzahl der gerenderten Tiles im aktuellen Frame.

Rückgabe:
  tiles per frame

int Canvas3D::getPartikelsPerFrame | ( | void |  | ) |

Getter fuer die Anzahl der gerenderten Partikel im aktuellen Frame.

Rückgabe:
  partikel per second

## Dokumentation der Datenelemente

Engine* Canvas3D::m_engine`[private]`

int Canvas3D::m_widthCanvas`[private]`

int Canvas3D::m_heightCanvas`[private]`

int Canvas3D::m_height`[private]`

int Canvas3D::m_width`[private]`

int Canvas3D::m_startX`[private]`

int Canvas3D::m_startY`[private]`

BYTE* Canvas3D::m_pDib`[private]`

BYTE* Canvas3D::m_pDiData

Canvas3D * Canvas3D::_instance = 0`[static, private]`

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:

- D:/Project/engine3d/cplusplus/src/canvas/Canvas3D.h
- D:/Project/engine3d/cplusplus/src/canvas/Canvas3D.cpp