Skip to main content

History: MHydrax code example

Preview of version: 1

This code example shows how you can use the Managed Hydrax Wrapper under Mogre 1.7.

The code was written by user Jo0oker for his game engine Tehadon.

help For questions use this forum topic.

Overview

  • THydraxItem.cs
    ... TODO ...
  • ITHydraxItem.cs
    ... TODO ...
  • THydraxManager.cs
    ... TODO ...



TODO:

  • Add a short description for the classes
  • Translate comments/regions to English
  • Attach code files as zip archive to wiki page




THydraxItem.cs

Copy to clipboard
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MHydrax; using Mogre; namespace Tehadon.Gfx.THydrax { public class THydraxItem : ITHydraxItem { #region Private Member //Manager private THydraxManager myTHydraxManager; //Hydrax private MNoise myNoise; private MProjectedGrid.MOptions myOptions; private MModule myModule; private MHydrax.MHydrax myHydrax; private string myConfigFile; private Plane myPlane; private bool myDoUpdate; #endregion #region Konstruktor /// <summary> /// Konsturktor /// </summary> /// <param name="THydraxManager"></param> public THydraxItem(THydraxManager THydraxManager) { myTHydraxManager = THydraxManager; myDoUpdate = true; } #endregion #region Update /// <summary> /// Update /// </summary> /// <param name="evt"></param> /// <returns></returns> public bool Update(FrameEvent evt) { if (!myDoUpdate) { return true; } if (myHydrax != null) { myHydrax.Update(evt.timeSinceLastFrame); } return true; } #endregion #region Grid erstellen /// <summary> /// Create the Projectiongrid /// </summary> public void CreateProjectedGrid() { myOptions = new MProjectedGrid.MOptions(); } #endregion #region Plane erstellen /// <summary> /// Create the Ogre-Plaine /// </summary> public void CreatePlane() { myPlane = new Plane(new Vector3(0, 1, 0), new Vector3(0, 0, 0)); } #endregion #region Noise erstellen /// <summary> /// Create Noise /// </summary> public void CreateNoise() { myNoise = new MPerlin(); } #endregion #region Module erstellen /// <summary> /// Create the Main-Modul for Hydrax /// </summary> public void CreateModule() { myModule = new MProjectedGrid(myHydrax, myNoise, myPlane, MMaterialManager.MNormalMode.NM_VERTEX, myOptions); } #endregion #region Erstellen /// <summary> /// Create MHyydrax /// </summary> public void Create() { //Hydrax instanzieren myHydrax = new MHydrax.MHydrax(myTHydraxManager.GfxManager.TOgreManager.Singelton.SceneManager, myTHydraxManager.GfxManager.TOgreManager.Singelton.Camera, myTHydraxManager.GfxManager.TOgreManager.Singelton.Viewport); CreateModule(); //Modul setzten und Einstellungen laden myHydrax.SetModule(myModule); myHydrax.LoadCfg(myConfigFile); //Wasser erstellen myHydrax.Create(); } #endregion #region Public Member public MHydrax.MHydrax Hydrax { get { return myHydrax; } set { myHydrax = value; } } public MNoise Noise { get { return myNoise; } set { myNoise = value; } } public MProjectedGrid.MOptions Options { get { return myOptions; } set { myOptions = value; } } public MModule Module { get { return myModule; } set { myModule = value; } } public string ConfigFile { get { return myConfigFile; } set { myConfigFile = value; } } public Plane Plane { get { return myPlane; } set { myPlane = value; } } #endregion } }



ITHydraxItem.cs

Copy to clipboard
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Mogre; using MHydrax; namespace Tehadon.Gfx.THydrax { public interface ITHydraxItem { #region Update /// <summary> /// Update /// </summary> /// <param name="evt"></param> /// <returns></returns> bool Update(FrameEvent evt); #endregion #region Grid erstellen /// <summary> /// Create the Projectiongrid /// </summary> void CreateProjectedGrid(); #endregion #region Plane erstellen /// <summary> /// Create the Ogre-Plaine /// </summary> void CreatePlane(); #endregion #region Noise erstellen /// <summary> /// Create Noise /// </summary> void CreateNoise(); #endregion #region Module erstellen /// <summary> /// Create the Main-Modul for Hydrax /// </summary> void CreateModule(); #endregion #region Erstellen /// <summary> /// Create MHyydrax /// </summary> void Create(); #endregion #region Public Member MNoise Noise { get; set; } MProjectedGrid.MOptions Options { get; set; } MModule Module { get; set; } string ConfigFile { get; set; } Plane Plane { get; set; } MHydrax.MHydrax Hydrax { get; set; } #endregion } }



THydraxManager.cs

Copy to clipboard
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Tehadon.Gfx.THydrax { public class THydraxManager { #region Private Member private GfxManager myGfxManager; #endregion #region Konstruktor /// <summary> /// Konstruktor /// </summary> /// <param name="GfxManager"></param> public THydraxManager(GfxManager GfxManager) { myGfxManager = GfxManager; } #endregion #region GetNew public ITHydraxItem GetNew() { return new THydraxItem(this); } #endregion #region Public Member public GfxManager GfxManager { get { return myGfxManager; } set { myGfxManager = value; } } #endregion } }

History

Information Version
Tue 13 of Sep, 2011 11:20 GMT-0000 mcdonte 5
Tue 13 of Sep, 2011 11:13 GMT-0000 mcdonte 4
Tue 13 of Sep, 2011 11:12 GMT-0000 mcdonte 3
Tue 13 of Sep, 2011 11:09 GMT-0000 mcdonte 2
Mon 12 of Sep, 2011 23:06 GMT-0000 Beauty NEW PAGE 1