|
From: <tre...@us...> - 2007-10-08 12:51:15
|
Revision: 488
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=488&view=rev
Author: trevorolio
Date: 2007-10-08 05:51:18 -0700 (Mon, 08 Oct 2007)
Log Message:
-----------
Fixed the sim side Page so that it retains new content types upon update.
Added a new web api call to update a page from an input stream.
(all of this is handy for my hawt new iSight -> page demo hack)
Modified Paths:
--------------
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/WebAPIClient.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DPageRenderable.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java 2007-10-07 18:46:30 UTC (rev 487)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/SpaceClient.java 2007-10-08 12:51:18 UTC (rev 488)
@@ -406,6 +406,7 @@
if (!page.getContentType().equals(event.getStringProperty(SpaceEvent.CONTENT_TYPE))) {
page.setContentType(event.getStringProperty(SpaceEvent.CONTENT_TYPE));
}
+ System.out.println("Page content type: " + page.getContentType());
page.reloadContent();
} else if (SpaceEvent.ADD_DOOR_EVENT.equals(event.getName())) {
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/WebAPIClient.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/WebAPIClient.java 2007-10-07 18:46:30 UTC (rev 487)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/client/WebAPIClient.java 2007-10-08 12:51:18 UTC (rev 488)
@@ -13,6 +13,7 @@
limitations under the License. */
package com.ogoglio.client;
+import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
@@ -430,6 +431,10 @@
wire.performPOST(descriptor.getPageContentsURI(spaceID, thingID, pageID), contents, "application/octet-stream", authenticator.getAuthCookie());
}
+ public void setPageContents(long spaceID, long thingID, long pageID, InputStream inputStream, String mimeType) throws IOException {
+ wire.performPOST(descriptor.getPageContentsURI(spaceID, thingID, pageID), inputStream, mimeType, authenticator.getAuthCookie());
+ }
+
public InputStream getPageContents(long spaceID, long thingID, long pageID) throws IOException {
return wire.performGET(descriptor.getPageContentsURI(spaceID, thingID, pageID), authenticator.getAuthCookie(), false);
}
@@ -543,4 +548,5 @@
public BodyConfigurationDocument getDefaultBodyConfiguration(String username) throws IOException {
return new BodyConfigurationDocument(wire.fetchAuthenticatedXML(descriptor.getDefaultBodyConfiguration(username), authenticator.getAuthCookie()));
}
+
}
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DPageRenderable.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DPageRenderable.java 2007-10-07 18:46:30 UTC (rev 487)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DPageRenderable.java 2007-10-08 12:51:18 UTC (rev 488)
@@ -42,17 +42,14 @@
private BrowserScreen screen = null;
- // private J3DThingRenderable thingRenderable = null;
-
- public J3DPageRenderable(J3DThingRenderable NOT_USED, Page page) {
- //this.thingRenderable = thingRenderable;
+ public J3DPageRenderable(Page page) {
this.page = page;
setCapability(BranchGroup.ALLOW_DETACH);
pageGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
pageGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
addChild(pageGroup);
pageGroup.setTransform(page.getPosition());
- screen = new BrowserScreen(page.getContentType(), (float) page.getWidth(), (float) page.getHeight());
+ screen = new BrowserScreen();
pageGroup.addChild(screen);
reloadContent();
}
@@ -73,32 +70,18 @@
ImageRenderer imageRenderer = null;
- float width = -1;
-
- float height = -1;
-
float textureWidth = 512;
float textureHeight = -1;
- BrowserScreen(String contentType, float width, float height) {
- this.width = width;
- this.height = height;
-
- textureHeight = textureWidth * (height / (float) width);
- if (isTextType()) {
- textRenderer = new HtmlRenderer((int) textureWidth, (int) textureHeight);
- textRenderer.updateRender();
- } else if(isImageType()){
- imageRenderer = new ImageRenderer((int) textureWidth, (int) textureHeight);
- imageRenderer.updateRender();
- } else {
- throw new IllegalStateException("Unknown page type: " + page.getContentType());
- }
+ BrowserScreen() {
initShape();
+ updateContent();
}
private void initShape() {
+ float width = (float) page.getWidth();
+ float height = (float) page.getHeight();
PickTool.setCapabilities(this, PickTool.INTERSECT_COORD);
setCapability(Shape3D.ALLOW_APPEARANCE_READ);
@@ -106,7 +89,7 @@
setCapability(Shape3D.ALLOW_GEOMETRY_READ);
setCapability(Shape3D.ALLOW_BOUNDS_READ);
setCapability(Shape3D.ALLOW_COLLIDABLE_READ);
-
+
QuadArray polygon = new QuadArray(4, QuadArray.COORDINATES | GeometryArray.TEXTURE_COORDINATE_2);
polygon.setCapability(QuadArray.ALLOW_COORDINATE_READ);
polygon.setCapability(QuadArray.ALLOW_COUNT_READ);
@@ -124,13 +107,14 @@
Appearance appearance = new Appearance();
appearance.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
- updateAppearance(appearance);
setGeometry(polygon);
setAppearance(appearance);
}
public void clicked(double x, double y) {
+ float width = (float) page.getWidth();
+ float height = (float) page.getHeight();
int textureX = -1 * ((int) (x * (textureWidth / width)) - (int) (textureWidth / 2));
int textureY = -1 * ((int) (y * (textureHeight / height)) - (int) (textureHeight / 2));
if (textRenderer != null) {
@@ -156,6 +140,7 @@
}
public void updateContent() {
+ textureHeight = textureWidth * ((float) page.getHeight() / (float) page.getWidth());
try {
if (isTextType() && textRenderer == null) {
if (imageRenderer != null) {
@@ -170,7 +155,6 @@
}
imageRenderer = new ImageRenderer((int) textureWidth, (int) textureHeight);
}
-
InputStream contentStream = page.getContent();
if (contentStream == null) {
throw new IOException("Null content stream");
@@ -198,7 +182,7 @@
public PageRenderable getPageRenderable() {
return J3DPageRenderable.this;
}
-
+
public double getHeight() {
return 0;
}
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java 2007-10-07 18:46:30 UTC (rev 487)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java 2007-10-08 12:51:18 UTC (rev 488)
@@ -262,7 +262,7 @@
Log.error("Tried to add a page to an unknown thing: " + page.getThing().getThingID());
return;
}
- J3DPageRenderable pageRenderable = new J3DPageRenderable(thingRenderable/*not used!*/, page);
+ J3DPageRenderable pageRenderable = new J3DPageRenderable(page);
thingRenderable.addPageRenderable(pageRenderable);
}
@@ -666,7 +666,7 @@
Page[] pages = thing.getPages();
for (int i = 0; i < pages.length; i++) {
- J3DPageRenderable pageRenderable = new J3DPageRenderable(renderable/*not used!*/, pages[i]);
+ J3DPageRenderable pageRenderable = new J3DPageRenderable(pages[i]);
renderable.addPageRenderable(pageRenderable);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|