org.sourceforge.jvb3d.Model
Class Model

java.lang.Object
  extended by org.sourceforge.jvb3d.Model.Model
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, IChatControl, IMakesTurn, IModelInput, IModelNetwork, IPlayerControl

public class Model
extends java.lang.Object
implements IModelNetwork, IModelInput, IMakesTurn

Author:
spootnick Klasa spajająca całą część logiki. Zawiera w sobie graf java 3D
See Also:
Serialized Form

Field Summary
protected  HudObject chat
           
protected  java.util.Hashtable<java.lang.String,DynamicObject> dynamicObjects
           
protected  boolean isServer
           
protected  javax.media.j3d.BranchGroup movableTree
           
protected  int nextID
           
protected  ControlableObject player
           
protected  boolean serializeAll
           
protected  java.lang.String serializeID
           
protected  com.sun.j3d.utils.universe.SimpleUniverse simpleUniverse
           
protected  javax.media.j3d.BranchGroup staticTree
           
protected  javax.media.j3d.BranchGroup usableTree
           
 
Constructor Summary
Model(javax.media.j3d.Canvas3D canvas3D, boolean isServer)
          Konstruktor tworzy obiekt modelu
 
Method Summary
 void append(java.lang.String s)
          Dokleja łańcuch do aktualnie edytowanej linii
 void beginEdit(java.lang.String inputMark)
          Powoduje rozpoczęcie edycji nowej lini tekstu
 java.lang.String createLocalPlayer()
          Tworzy lokalnego gracza z id generowanym automatycznie (używana po stronie serwera)
 java.lang.String createLocalPlayer(java.lang.String id)
          Tworzy lokalnego gracza o zadanym id
 java.lang.String createPlayer()
          Powoduje utworzenie nowego gracza i zwraca jego identyfikator Używana gdy nowi klienci dołączają do świata
 void delete(int nChars)
          Usuwa określoną ilość znaków
 void moveForwardBackward(float speed)
          Ustawia prędkość w kierunku przód/tył na zadaną wartość
 void moveLeftRight(float speed)
          Ustawia prędkość w kierunku lewo/prawo (strafe) na zadaną wartość
 void nextTurn(long time)
          Liczy następną turę dla modelu na podstawie czasu który minął od ostatniej
 void readExternal(java.io.ObjectInput arg0)
           
 void removeObject(java.lang.String id)
          Usuwa obiekt o zadanym identyfikatorze ze świata
 void setSerialize(java.lang.String id)
          Ustawia typ serializacji na serializację konkretnego obiektu
 void setSerializeAll()
          Ustawia typ serializacji modelu na serializację całej zawartości
 void setStaticScene(javax.media.j3d.BranchGroup scene)
          Ustawia poddrzewo obiektów statycznych dla sceny.
 void setUsableScene()
          Ustawia poddrzewo obiektów używalnych dla sceny.
 void submitLine(java.lang.String sourceName)
          Podowuje zakończenie edycji aktualnej lini i dodanie jej do zawartości obiektu
 void turnLeftRight(float angle)
          Podowuje obrót w kierunku lewo/prawo o zadany kąt w radianach
 void turnUpDown(float angle)
          Podowuje obrót w kierunku dół/góra o zadany kąt w radianach
 void writeExternal(java.io.ObjectOutput arg0)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

simpleUniverse

protected com.sun.j3d.utils.universe.SimpleUniverse simpleUniverse

dynamicObjects

protected java.util.Hashtable<java.lang.String,DynamicObject> dynamicObjects

movableTree

protected javax.media.j3d.BranchGroup movableTree

usableTree

protected javax.media.j3d.BranchGroup usableTree

staticTree

protected javax.media.j3d.BranchGroup staticTree

player

protected ControlableObject player

chat

protected HudObject chat

serializeID

protected java.lang.String serializeID

serializeAll

protected boolean serializeAll

nextID

protected int nextID

isServer

protected boolean isServer
Constructor Detail

Model

public Model(javax.media.j3d.Canvas3D canvas3D,
             boolean isServer)
Konstruktor tworzy obiekt modelu

Parameters:
canvas3D - obiekt kanwas na podstawie którego zostanie stworzony SimpleUniverse
isServer - określa czy model jest modelem serwera czy klienta
Method Detail

nextTurn

public void nextTurn(long time)
Liczy następną turę dla modelu na podstawie czasu który minął od ostatniej

Specified by:
nextTurn in interface IMakesTurn
Parameters:
time - czas w nanosekundach

createLocalPlayer

public java.lang.String createLocalPlayer()
Tworzy lokalnego gracza z id generowanym automatycznie (używana po stronie serwera)

Returns:
identyfikator

createLocalPlayer

public java.lang.String createLocalPlayer(java.lang.String id)
Tworzy lokalnego gracza o zadanym id

Parameters:
id - identyfikator dla gracza
Returns:
identyfikator

setStaticScene

public void setStaticScene(javax.media.j3d.BranchGroup scene)
Ustawia poddrzewo obiektów statycznych dla sceny. Ta grupa obiektów w największym stopniu tworzy wygląd sceny. Z punktu widzenia logiki te obiekty będą jedynie pełnić funkcje przeszkód.

Parameters:
scene - poddrzewo grafu java3d

setUsableScene

public void setUsableScene()
Ustawia poddrzewo obiektów używalnych dla sceny. Na razie nie używana


createPlayer

public java.lang.String createPlayer()
Description copied from interface: IModelNetwork
Powoduje utworzenie nowego gracza i zwraca jego identyfikator Używana gdy nowi klienci dołączają do świata

Specified by:
createPlayer in interface IModelNetwork
Returns:
identyfikator utworzonej postaci
See Also:
IModelNetwork.createPlayer()

removeObject

public void removeObject(java.lang.String id)
Description copied from interface: IModelNetwork
Usuwa obiekt o zadanym identyfikatorze ze świata

Specified by:
removeObject in interface IModelNetwork
Parameters:
id - identyfikator obiektu w modelu
See Also:
org.sourceforge.jvb3d.Model.IModelNetwork#removeObject(int)

turnLeftRight

public void turnLeftRight(float angle)
Description copied from interface: IPlayerControl
Podowuje obrót w kierunku lewo/prawo o zadany kąt w radianach

Specified by:
turnLeftRight in interface IPlayerControl
Parameters:
angle - kąt obrotu w radianach
See Also:
IPlayerControl.turnLeftRight(float)

moveForwardBackward

public void moveForwardBackward(float speed)
Description copied from interface: IPlayerControl
Ustawia prędkość w kierunku przód/tył na zadaną wartość

Specified by:
moveForwardBackward in interface IPlayerControl
Parameters:
speed - nowa prędkość
See Also:
IPlayerControl.moveForwardBackward(float)

moveLeftRight

public void moveLeftRight(float speed)
Description copied from interface: IPlayerControl
Ustawia prędkość w kierunku lewo/prawo (strafe) na zadaną wartość

Specified by:
moveLeftRight in interface IPlayerControl
Parameters:
speed - nowa prędkość
See Also:
IPlayerControl.moveLeftRight(float)

turnUpDown

public void turnUpDown(float angle)
Description copied from interface: IPlayerControl
Podowuje obrót w kierunku dół/góra o zadany kąt w radianach

Specified by:
turnUpDown in interface IPlayerControl
Parameters:
angle - kąt obrotu w radianach
See Also:
org.sourceforge.jvb3d.ModelIPlayerControl#turnUpDown(float)

writeExternal

public void writeExternal(java.io.ObjectOutput arg0)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException
See Also:
Externalizable.writeExternal(java.io.ObjectOutput)

readExternal

public void readExternal(java.io.ObjectInput arg0)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException
See Also:
Externalizable.readExternal(java.io.ObjectInput)

setSerializeAll

public void setSerializeAll()
Description copied from interface: IModelNetwork
Ustawia typ serializacji modelu na serializację całej zawartości

Specified by:
setSerializeAll in interface IModelNetwork
See Also:
IModelNetwork.setSerializeAll()

setSerialize

public void setSerialize(java.lang.String id)
Description copied from interface: IModelNetwork
Ustawia typ serializacji na serializację konkretnego obiektu

Specified by:
setSerialize in interface IModelNetwork
Parameters:
id - identyfikator obiektu w modelu
See Also:
IModelNetwork.setSerialize(java.lang.String)

submitLine

public void submitLine(java.lang.String sourceName)
Description copied from interface: IChatControl
Podowuje zakończenie edycji aktualnej lini i dodanie jej do zawartości obiektu

Specified by:
submitLine in interface IChatControl
Parameters:
sourceName - nazwa która będzie użyta jako źródło tekstu
See Also:
IChatControl.submitLine(java.lang.String)

append

public void append(java.lang.String s)
Description copied from interface: IChatControl
Dokleja łańcuch do aktualnie edytowanej linii

Specified by:
append in interface IChatControl
See Also:
IChatControl.append(java.lang.String)

delete

public void delete(int nChars)
Description copied from interface: IChatControl
Usuwa określoną ilość znaków

Specified by:
delete in interface IChatControl
Parameters:
nChars - ilość znaków do usunięcia
See Also:
IChatControl.delete(int)

beginEdit

public void beginEdit(java.lang.String inputMark)
Description copied from interface: IChatControl
Powoduje rozpoczęcie edycji nowej lini tekstu

Specified by:
beginEdit in interface IChatControl
Parameters:
inputMark - znak zachęty
See Also:
IChatControl.beginEdit(java.lang.String)


Copyright © 2004-2005 Akademia Górniczo-Hutnicza w Krakowie. All Rights Reserved.