Electronic Signs (Mahmut): Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
Msubasi1 (talk | contribs)
Msubasi1 (talk | contribs)
Line 58: Line 58:


Since my module runs dynamically I wrote an extra package named ''main'' that initialize the connection to the client window and retrieves the text file location and refresh time from server and starts the module.
Since my module runs dynamically I wrote an extra package named ''main'' that initialize the connection to the client window and retrieves the text file location and refresh time from server and starts the module.

====Client Side Code====
*VBUSignsCell.java
This class basically is the constructor class of the module. The very first cell is created in this class. This class is also sets client state and status of a cell. It initialize and gets all init components of the module.

*VBUSignsCellFactory.java
This



====Environments Used====
====Environments Used====
*NetBeans IDE 6.9.1 and NetBeans IDE 7.0
*NetBeans IDE 6.9.1 and NetBeans IDE 7.0

===How to run VBUSigns Module===
===How to run VBUSigns Module===
After competing prerequisites, open module in NetBeans. Then right click on the module and ''build'' it, after right click again and click ''deploy to server''. After the module deployed to server just right click and press ''run''. NetBeans will ask you the location of your text file enter it, then you will asked to enter refresh time enter it in number format and module will start.
After competing prerequisites, open module in NetBeans. Then right click on the module and ''build'' it, after right click again and click ''deploy to server''. After the module deployed to server just right click and press ''run''. NetBeans will ask you the location of your text file enter it, then you will asked to enter refresh time enter it in number format and module will start.

Revision as of 21:29, 18 May 2011

This page is designed to explain VBUSigns Project. It is a subproject of VirtualBU project.


Project Description

VBUSigns project is a subproject of VirtualBU project. VirtualBU project aims to create photo realistic of 3D environment of Binghamton University campus. VBUSigns project – subproject of VirtualBU aims to create and show signs in front of main entrance of campus. VBUSigns project is a module that is used in openwonderland project that is coded in java. The module has two parts, these are the 3D model of sign board and code part that enable the module to work in openwonderland client window.

Websites

The main page of the VirtualBU project is

http://cs.binghamton.edu/~steflik/wiki/index.php/VirtualBU

The URL for the website for VBUSigns subproject is

http://cs.binghamton.edu/~steflik/wiki/index.php?title=Electronic_Signs_(Mahmut)&action=edit&redlink=1

The URL for the website for modeling part of my project is

http://www.cs.binghamton.edu/~steflik/wiki/index.php/Fine_Arts_%26_Anderson_Center_-_Mahmut_Subasi

The websites is used to test and run VirtualBU project are

http://vbu.cs.binghamton.edu:8080

http://vbu1.cs.binghamton.edu:8080

http://vbu2.cs.binghamton.edu:8080

Prerequisites

To be able to run the VirtualBU project you need to install Java on your computer. If you do not know how to get and install Java, you will find a link under the ‘’Launch’’ button on the main page of VirtualBU project. To be able to run VBUSigns project you need to install NetBeans IDE. You can find installation package on the following link

http:// http://netbeans.org/downloads/

To run VBUSigns project you need to download source code of Openwonderland project in following order

     ../wonderland/trunk/wonderland
     ../wonderland/trunk/wonderland-modules/unstable/VBUsigns

After building openwonderland project you will be able to run VBUSigns subproject. You can download Openwonderland project source code with following link

http://code.google.com/p/openwonderland/wiki/DownloadBuildSource05

Project Development

There are two parts of the project;

Modelling Part

Applications Used

  • Google SketchUp

With Google SketchUp, I modeled the signboard that is placed in front of the main entrance of the campus. The model is embedded into module. In order to embed the model into module, first I exported my model as .dae (COLLADA) file with Google SketchUp. The reason I did this is that Open Wonderland can only display .kmz - Google Earth files or .dae files in client window.

Open Wonderland modules keep this kind of content in ../art directory. If someone wants to embed any type of model into module, he/she needs to place his/her models in this directory. .dae and .kmz files are just XML files that keeps the arrays of the model's edges locations, vertexes locations, scale factors, transformation values and color values.

Coding Part

In Openwonderland for development Java is being used. For coding part I am required to write a module that illustrates the content of the signboard in the openwonderland client window. That is the module refreshes its screen in a time period and in every refresh the content on the board changes.

Code

Basically openwonderland modules have 3 parts. These are client side, server side and common side. Client side handles the cell creation, rendering and requests from server.

When we open a client window everything we see is brought by client side of the code. In my code there is an extra class that creates and renders a JFrame that is used to show content taken from local a .txt file. Other classes are default classes that come when you created an module for openwonderland module, but still I have modified and added extra code parts in order to make my module worked.

The common part handles the communication between client and server. Since there may be some extra content that client needs and these contents are kept on the server. In my module contents are model and the text file that wanted to be shown on the panel.

The server part handles the server side of the project, which is it handles the changes in the world. In this part I wrote an extra part again to handle the changes in the text file. The handler checks whether text file is changed or not, if changed it retrieves and send the new content.

Since my module runs dynamically I wrote an extra package named main that initialize the connection to the client window and retrieves the text file location and refresh time from server and starts the module.

Client Side Code

  • VBUSignsCell.java

This class basically is the constructor class of the module. The very first cell is created in this class. This class is also sets client state and status of a cell. It initialize and gets all init components of the module.

  • VBUSignsCellFactory.java

This


Environments Used

  • NetBeans IDE 6.9.1 and NetBeans IDE 7.0

How to run VBUSigns Module

After competing prerequisites, open module in NetBeans. Then right click on the module and build it, after right click again and click deploy to server. After the module deployed to server just right click and press run. NetBeans will ask you the location of your text file enter it, then you will asked to enter refresh time enter it in number format and module will start. To run module in different servers you can change the following value in the build.xml file;

<arg value="target server address:8080"/>


Prepared by Mahmut SUBASI