[brlcad-commits] SF.net SVN: brlcad:[44170] geomcore/trunk/src/interfaces/java/src/org/ brlcad/geometryservice/net/GSConnection.java

2011-04-04 Thread davidloman
Revision: 44170
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44170view=rev
Author:   davidloman
Date: 2011-04-04 10:47:33 + (Mon, 04 Apr 2011)

Log Message:
---
GSConnection need not extend Thread.  Limits implementation and restricts the 
end user's design.

Modified Paths:
--

geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/net/GSConnection.java

Modified: 
geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/net/GSConnection.java
===
--- 
geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/net/GSConnection.java
 2011-04-01 21:58:50 UTC (rev 44169)
+++ 
geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/net/GSConnection.java
 2011-04-04 10:47:33 UTC (rev 44170)
@@ -27,11 +27,14 @@
 import java.io.OutputStream;
 import java.net.InetAddress;
 import java.net.Socket;
+import java.net.SocketException;
+import java.net.SocketTimeoutException;
 import java.nio.BufferOverflowException;
 import java.nio.BufferUnderflowException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.UUID;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.brlcad.geometryservice.GSStatics;
 import org.brlcad.geometryservice.GeometryServiceException;
@@ -40,7 +43,7 @@
 import org.brlcad.geometryservice.net.msg.RemoteNodeNameSetMsg;
 import org.brlcad.geometryservice.net.msg.SessionInfoMsg;
 
-public class GSConnection {
+public class GSConnection extends Thread {
 
public static final int CONN_INITIAL_READBUF_SIZE = 1024 * 1024;
 
@@ -48,6 +51,9 @@
 
public static final long MAX_HANDSHAKE_WAIT_TIME_MS = 1000 * 5;
 
+   private AtomicBoolean recvRunStatus = new AtomicBoolean(false);
+   private AtomicBoolean recvRunCmd = new AtomicBoolean(false);
+
/**
 * Static method that will connect to the provided addy:port and 
attempt to
 * log in.
@@ -65,7 +71,8 @@
 
/* Validate args */
if (addy == null || port  1)
-   throw new GeometryServiceException(NULL address or 
port value is 1);
+   throw new GeometryServiceException(
+   NULL address or port value is 1);
if (uname == null || uname.length()  1)
throw new GeometryServiceException(NULL or zero length 
uname);
if (passwd == null || passwd.length()  1)
@@ -84,11 +91,12 @@
if (!GSConnection.authenticate(conn, uname, passwd)) {
throw new GeometryServiceException(Authentication 
Failed.);
}
-   
+
return conn;
}
 
-   private static AbstractNetMsg waitForMsg(GSConnection conn) throws 
GeometryServiceException {
+   private static AbstractNetMsg waitForMsg(GSConnection conn)
+   throws GeometryServiceException {
AbstractNetMsg newMsg = null;
int totalRead = 0;
long startTime = System.currentTimeMillis();
@@ -101,18 +109,22 @@
if (totalRead == 0) {
 
if ((System.currentTimeMillis() - 
startTime) = MAX_HANDSHAKE_WAIT_TIME_MS)
-   throw new 
GeometryServiceException(Timeout on handshake.  Waited  + 
MAX_HANDSHAKE_WAIT_TIME_MS + ms.);
+   throw new 
GeometryServiceException(
+   Timeout on 
handshake.  Waited 
+   
+ MAX_HANDSHAKE_WAIT_TIME_MS + ms.);
 
try {
Thread.sleep(15);
} catch (InterruptedException e) {
-   throw new 
GeometryServiceException(Thread Interruption);
+   throw new 
GeometryServiceException(
+   Thread 
Interruption);
}
continue;
}
 
if (totalRead  0)
-   throw new 
GeometryServiceException(Socket closed before handshake complete.);
+   throw new GeometryServiceException(
+   Socket closed before 
handshake complete.);
 
} // End while (totalRead  1) {
 
@@ -127,7 +139,8 @@
 
}
 
-   private static final boolean handshake(GSConnection conn, String uname) 
throws GeometryServiceException {
+   private static final boolean 

[brlcad-commits] SF.net SVN: brlcad:[44171] geomcore/trunk/src/interfaces/java/test/org/ brlcad/geometryservice

2011-04-04 Thread davidloman
Revision: 44171
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44171view=rev
Author:   davidloman
Date: 2011-04-04 10:51:42 + (Mon, 04 Apr 2011)

Log Message:
---
Add in some tests and research.  These were created some time ago but were 
never committed.

Added Paths:
---

geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/LoginTest.java

geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/SerialTest.java

geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/UUIDSerialResearch.java

Added: 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/LoginTest.java
===
--- 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/LoginTest.java
   (rev 0)
+++ 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/LoginTest.java
   2011-04-04 10:51:42 UTC (rev 44171)
@@ -0,0 +1,49 @@
+/*
+ * BRL-CAD
+ *
+ * Copyright (c) 2011 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this file; see the file named COPYING for more
+ * information.
+ */
+/** @file LoginTest.java
+ * 
+ */
+package org.brlcad.geometryservice;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * @author dloman
+ *
+ */
+public class LoginTest {
+
+   public static void main(String[] args) throws UnknownHostException, 
InterruptedException {
+   
+   GSJavaInterface inter = new GSJavaInterface();
+   
+   boolean success = 
inter.connectToHost(InetAddress.getByName(127.0.0.1), (short)5309, Guest, 
Guest);
+   
+   System.out.println(Success?  + success);
+   Thread.sleep(1000);
+
+   inter.disconnectFromHost();
+   Thread.sleep(1000);
+   
+   System.out.println(Done.);
+   }
+   
+}


Property changes on: 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/LoginTest.java
___
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Added: 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/SerialTest.java
===
--- 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/SerialTest.java
  (rev 0)
+++ 
geomcore/trunk/src/interfaces/java/test/org/brlcad/geometryservice/SerialTest.java
  2011-04-04 10:51:42 UTC (rev 44171)
@@ -0,0 +1,65 @@
+/*
+ * BRL-CAD
+ *
+ * Copyright (c) 2011 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this file; see the file named COPYING for more
+ * information.
+ */
+/** @file SerialTest.java
+ * 
+ */
+package org.brlcad.geometryservice;
+
+import java.nio.ByteBuffer;
+
+import org.brlcad.geometryservice.net.ByteBufferWriter;
+import org.brlcad.geometryservice.net.msg.NewSessionReqMsg;
+
+/**
+ * @author dloman
+ *
+ */
+public class SerialTest {
+
+   /**
+* @param args
+*/
+   public static void main(String[] args) {
+   // TODO Auto-generated method stub
+
+   NewSessionReqMsg msg = new NewSessionReqMsg(Guest, Guest);
+   
+   ByteBuffer bb = ByteBuffer.allocate(1024*1024);
+   ByteBufferWriter wr = new ByteBufferWriter(bb);
+   
+   msg.serialize(wr);
+   
+   String out = ;
+   byte[] ba = bb.array();
+   for (int i = 0 ; i  wr.position(); ++i) {
+   byte b = ba[i];
+   String c = Integer.toString(b  0xff, 16).toUpperCase();
+   if 

[brlcad-commits] SF.net SVN: brlcad:[44172] geomcore/trunk/src/interfaces/java/src/org/ brlcad/geometryservice/GSJavaInterface.java

2011-04-04 Thread davidloman
Revision: 44172
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44172view=rev
Author:   davidloman
Date: 2011-04-04 10:53:23 + (Mon, 04 Apr 2011)

Log Message:
---
Update for starting of worker thread.

Modified Paths:
--

geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/GSJavaInterface.java

Modified: 
geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/GSJavaInterface.java
===
--- 
geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/GSJavaInterface.java
  2011-04-04 10:51:42 UTC (rev 44171)
+++ 
geomcore/trunk/src/interfaces/java/src/org/brlcad/geometryservice/GSJavaInterface.java
  2011-04-04 10:53:23 UTC (rev 44172)
@@ -105,7 +105,15 @@
return false;
}
 
+   this.conn.start();
+   
return true;
}
+   
+   public void disconnectFromHost() 
+   {
+   if (this.conn != null)
+   this.conn.stopReceiving();
+   }
 
 }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44173] brlcad/trunk/src/libged/screengrab.c

2011-04-04 Thread brlcad
Revision: 44173
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44173view=rev
Author:   brlcad
Date: 2011-04-04 12:33:11 + (Mon, 04 Apr 2011)

Log Message:
---
identify that this is a major encapsulation problem.  this introduced a new 
dependency on libdm/libfb, which totally sucks and blows library encapsulation. 
 this may not be an appropriate place for screen capture logic -- perhaps libdm 
API.

Modified Paths:
--
brlcad/trunk/src/libged/screengrab.c

Modified: brlcad/trunk/src/libged/screengrab.c
===
--- brlcad/trunk/src/libged/screengrab.c2011-04-04 10:53:23 UTC (rev 
44172)
+++ brlcad/trunk/src/libged/screengrab.c2011-04-04 12:33:11 UTC (rev 
44173)
@@ -34,6 +34,12 @@
 
 #include ./ged_private.h
 
+
+/* !!! FIXME: this command should not be directly utilizing LIBDM or
+ * LIBFB as this breaks library encapsulation.  Generic functionality
+ * should be moved out of LIBDM into LIBICV, or be handled by the
+ * application logic calling this routine.
+ */
 int
 ged_screen_grab(struct ged *gedp,int argc, const char *argv[])
 {


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44174] brlcad/trunk/src/libged/Makefile.am

2011-04-04 Thread brlcad
Revision: 44174
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44174view=rev
Author:   brlcad
Date: 2011-04-04 12:34:42 + (Mon, 04 Apr 2011)

Log Message:
---
gah, as expected, this introduced a new dependency.  regression fail.  maybe 
need a test to prevent this from occurring on all the core libraries (making 
calls to libraries that shouldn't be linked.

Modified Paths:
--
brlcad/trunk/src/libged/Makefile.am

Modified: brlcad/trunk/src/libged/Makefile.am
===
--- brlcad/trunk/src/libged/Makefile.am 2011-04-04 12:33:11 UTC (rev 44173)
+++ brlcad/trunk/src/libged/Makefile.am 2011-04-04 12:34:42 UTC (rev 44174)
@@ -281,6 +281,10 @@
 
 libged_la_SOURCES =
 libged_la_LDFLAGS = -version-info 19:1 -no-undefined -Wc,${FEXCEPTIONS}
+
+
+# !!! FIXME: LIBGED should not be directly utilizing LIBDM or LIBFB as
+# this breaks library encapsulation.
 libged_la_LIBADD = \
libged_nil.la \
${FB} \


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44175] brlcad/trunk/TODO

2011-04-04 Thread brlcad
Revision: 44175
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44175view=rev
Author:   brlcad
Date: 2011-04-04 12:51:36 + (Mon, 04 Apr 2011)

Log Message:
---
cliff added support for name changes on red (needs NEWS).  still need to indep 
test matrix edit.  more importantly, need to undo the mess added to libged.

Modified Paths:
--
brlcad/trunk/TODO

Modified: brlcad/trunk/TODO
===
--- brlcad/trunk/TODO   2011-04-04 12:34:42 UTC (rev 44174)
+++ brlcad/trunk/TODO   2011-04-04 12:51:36 UTC (rev 44175)
@@ -17,13 +17,13 @@
 THESE TASKS SHOULD HAPPEN BEFORE THE NEXT RELEASE
 -
 
-* red matrix edit
+* unbreak encapsulation fail on LIBGED
 
+* test red matrix edit
+
 * red lists standard attributes multiple times if stored non-standard
 
-* red doesn't preserve name changes
 
-
 THESE TASKS SHOULD HAPPEN WITHIN TWO RELEASE ITERATIONS
 ---
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44177] brlcad/trunk/TODO

2011-04-04 Thread brlcad
Revision: 44177
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44177view=rev
Author:   brlcad
Date: 2011-04-04 13:21:27 + (Mon, 04 Apr 2011)

Log Message:
---
help cliff not go bald.

Modified Paths:
--
brlcad/trunk/TODO

Modified: brlcad/trunk/TODO
===
--- brlcad/trunk/TODO   2011-04-04 13:20:10 UTC (rev 44176)
+++ brlcad/trunk/TODO   2011-04-04 13:21:27 UTC (rev 44177)
@@ -66,7 +66,7 @@
 
 * group public library headers into subdirs, e.g. include/bu/bu.h, so
   it's clear when you're using headers from another library and
-  breaking encapsulation.
+  breaking encapsulation.  this should wait until after cmake merge.
 
 * offset surfaces.  provide feature edit operation to create a solid
   level set style object so you can represent degraded geometry


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44178] brlcad/trunk/TODO

2011-04-04 Thread brlcad
Revision: 44178
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44178view=rev
Author:   brlcad
Date: 2011-04-04 13:25:32 + (Mon, 04 Apr 2011)

Log Message:
---
if we do the subdir, then there's risk of people going lazy and including via 
subdir.  add a regression to make sure it's clean code using CPPFLAGS.

Modified Paths:
--
brlcad/trunk/TODO

Modified: brlcad/trunk/TODO
===
--- brlcad/trunk/TODO   2011-04-04 13:21:27 UTC (rev 44177)
+++ brlcad/trunk/TODO   2011-04-04 13:25:32 UTC (rev 44178)
@@ -68,6 +68,10 @@
   it's clear when you're using headers from another library and
   breaking encapsulation.  this should wait until after cmake merge.
 
+* add code regression that makes sure none of our code cheats by
+  including bu/bu.h -- e.g., make sure BU_CPPFLAGS et al are used so
+  new dependencies are obvious and intentional.
+
 * offset surfaces.  provide feature edit operation to create a solid
   level set style object so you can represent degraded geometry
   states (e.g., damage around a hole in a plate of metal might be


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44180] brlcad/trunk/src/libdm

2011-04-04 Thread brlcad
Revision: 44180
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44180view=rev
Author:   brlcad
Date: 2011-04-04 14:18:11 + (Mon, 04 Apr 2011)

Log Message:
---
rest of revert to r44152.  helps to be fully up-to-date during merge.  
continuation of r44179.

Modified Paths:
--
brlcad/trunk/src/libdm/Makefile.am

Added Paths:
---
brlcad/trunk/src/libdm/adc.c
brlcad/trunk/src/libdm/axes.c
brlcad/trunk/src/libdm/grid.c
brlcad/trunk/src/libdm/labels.c
brlcad/trunk/src/libdm/rect.c
brlcad/trunk/src/libdm/scale.c

Modified: brlcad/trunk/src/libdm/Makefile.am
===
--- brlcad/trunk/src/libdm/Makefile.am  2011-04-04 13:35:22 UTC (rev 44179)
+++ brlcad/trunk/src/libdm/Makefile.am  2011-04-04 14:18:11 UTC (rev 44180)
@@ -37,6 +37,8 @@
 
 
 libdm_la_SOURCES = \
+   adc.c \
+   axes.c \
clip.c \
color.c \
dm-Null.c \
@@ -50,9 +52,13 @@
dm-wgl.c \
dm_obj.c \
focus.c \
+   grid.c \
knob.c \
+   labels.c \
options.c \
query.c \
+   rect.c \
+   scale.c \
tcl.c \
vers.c
 

Copied: brlcad/trunk/src/libdm/adc.c (from rev 44152, 
brlcad/trunk/src/libdm/adc.c)
===
--- brlcad/trunk/src/libdm/adc.c(rev 0)
+++ brlcad/trunk/src/libdm/adc.c2011-04-04 14:18:11 UTC (rev 44180)
@@ -0,0 +1,201 @@
+/*   A D C . C
+ * BRL-CAD
+ *
+ * Copyright (c) 1985-2011 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this file; see the file named COPYING for more
+ * information.
+ */
+/** @file adc.c
+ *
+ */
+
+#include common.h
+
+#include stdlib.h
+#include stdio.h
+#include math.h
+#include string.h
+
+#include bio.h
+#include bu.h
+#include vmath.h
+#include ged.h
+#include dm.h
+
+
+static void
+dm_draw_ticks(struct dm *dmp, struct ged_view *gvp, fastf_t angle)
+{
+fastf_t c_tdist;
+fastf_t d1, d2;
+fastf_t t1, t2;
+fastf_t x1, Y1;   /* not y1, due to conflict with math lib */
+fastf_t x2, y2;
+
+/*
+ * Position tic marks from dial 9.
+ */
+/* map -2048 - 2047 into 0 - 2048 * sqrt (2) */
+/* Tick distance */
+c_tdist = ((fastf_t)(gvp-gv_adc.gas_dv_dist) + GED_MAX) * M_SQRT1_2;
+
+d1 = c_tdist * cos (angle);
+d2 = c_tdist * sin (angle);
+t1 = 20.0 * sin (angle);
+t2 = 20.0 * cos (angle);
+
+/* Quadrant 1 */
+x1 = gvp-gv_adc.gas_dv_x + d1 + t1;
+Y1 = gvp-gv_adc.gas_dv_y + d2 - t2;
+x2 = gvp-gv_adc.gas_dv_x + d1 -t1;
+y2 = gvp-gv_adc.gas_dv_y + d2 + t2;
+if (ged_clip(x1, Y1, x2, y2) == 0) {
+   DM_DRAW_LINE_2D(dmp,
+   GED_TO_PM1(x1), GED_TO_PM1(Y1) * dmp-dm_aspect,
+   GED_TO_PM1(x2), GED_TO_PM1(y2) * dmp-dm_aspect);
+}
+
+/* Quadrant 2 */
+x1 = gvp-gv_adc.gas_dv_x - d2 + t2;
+Y1 = gvp-gv_adc.gas_dv_y + d1 + t1;
+x2 = gvp-gv_adc.gas_dv_x - d2 - t2;
+y2 = gvp-gv_adc.gas_dv_y + d1 - t1;
+if (ged_clip(x1, Y1, x2, y2) == 0) {
+   DM_DRAW_LINE_2D(dmp,
+   GED_TO_PM1(x1), GED_TO_PM1(Y1) * dmp-dm_aspect,
+   GED_TO_PM1(x2), GED_TO_PM1(y2) * dmp-dm_aspect);
+}
+
+/* Quadrant 3 */
+x1 = gvp-gv_adc.gas_dv_x - d1 - t1;
+Y1 = gvp-gv_adc.gas_dv_y - d2 + t2;
+x2 = gvp-gv_adc.gas_dv_x - d1 + t1;
+y2 = gvp-gv_adc.gas_dv_y - d2 - t2;
+if (ged_clip(x1, Y1, x2, y2) == 0) {
+   DM_DRAW_LINE_2D(dmp,
+   GED_TO_PM1(x1), GED_TO_PM1(Y1) * dmp-dm_aspect,
+   GED_TO_PM1(x2), GED_TO_PM1(y2) * dmp-dm_aspect);
+}
+
+/* Quadrant 4 */
+x1 = gvp-gv_adc.gas_dv_x + d2 - t2;
+Y1 = gvp-gv_adc.gas_dv_y - d1 - t1;
+x2 = gvp-gv_adc.gas_dv_x + d2 + t2;
+y2 = gvp-gv_adc.gas_dv_y - d1 + t1;
+if (ged_clip(x1, Y1, x2, y2) == 0) {
+   DM_DRAW_LINE_2D(dmp,
+   GED_TO_PM1(x1), GED_TO_PM1(Y1) * dmp-dm_aspect,
+   GED_TO_PM1(x2), GED_TO_PM1(y2) * dmp-dm_aspect);
+}
+}
+
+
+/**
+ * Compute and display the angle/distance cursor.
+ */
+void
+dm_draw_adc(struct dm *dmp, struct ged_view *gvp)
+{
+fastf_t x1, Y1;/* not y1, due to conflict with math lib */
+fastf_t x2, y2;
+fastf_t x3, y3;

[brlcad-commits] SF.net SVN: brlcad:[44181] brlcad/trunk/src/libged/ged.c

2011-04-04 Thread bob1961
Revision: 44181
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44181view=rev
Author:   bob1961
Date: 2011-04-04 14:27:26 + (Mon, 04 Apr 2011)

Log Message:
---
typo in comment

Modified Paths:
--
brlcad/trunk/src/libged/ged.c

Modified: brlcad/trunk/src/libged/ged.c
===
--- brlcad/trunk/src/libged/ged.c   2011-04-04 14:18:11 UTC (rev 44180)
+++ brlcad/trunk/src/libged/ged.c   2011-04-04 14:27:26 UTC (rev 44181)
@@ -19,7 +19,7 @@
  */
 /** @addtogroup libged */
 /** @{ */
-/** @file wdb_obj.c
+/** @file ged.c
  *
  * A quasi-object-oriented database interface.
  *


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44182] geomcore/trunk

2011-04-04 Thread erikgreenwald
Revision: 44182
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44182view=rev
Author:   erikgreenwald
Date: 2011-04-04 14:45:12 + (Mon, 04 Apr 2011)

Log Message:
---
add GeometryBoTReqMsg

Modified Paths:
--
geomcore/trunk/src/libNet/CMakeLists.txt

Added Paths:
---
geomcore/trunk/include/GeometryBoTReqMsg.h
geomcore/trunk/src/libNet/netMsg/GeometryBoTReqMsg.cxx

Added: geomcore/trunk/include/GeometryBoTReqMsg.h
===
--- geomcore/trunk/include/GeometryBoTReqMsg.h  (rev 0)
+++ geomcore/trunk/include/GeometryBoTReqMsg.h  2011-04-04 14:45:12 UTC (rev 
44182)
@@ -0,0 +1,78 @@
+/*G E O M E T R Y B O T R E Q M S G . H
+ * BRL-CAD
+ *
+ * Copyright (c) 2011 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this file; see the file named COPYING for more
+ * information.
+ */
+
+/** @file GeometryBoTReqMsg.h
+ *
+ * Request the geometry as BoTs, with exactly one BoT primitive per
+ * region.
+ */
+
+#ifndef __GEOMETRYREQMSG_H__
+#define __GEOMETRYREQMSG_H__
+
+#include GenericOneStringMsg.h
+
+class GeometryBoTReqMsg : public GenericOneStringMsg
+{
+public:
+
+   /* Only Constructor */
+   GeometryBoTReqMsg(std::string path, bool recurse);
+
+   /* Reply Constructor */
+   GeometryBoTReqMsg(NetMsg* msg, std::string path, bool recurse);
+
+   /* Deserializing Constructor */
+   GeometryBoTReqMsg(DataStream* ds, Portal* origin);
+
+   /* Destructor */
+   virtual ~GeometryBoTReqMsg();
+
+   virtual std::string toString();
+
+   /*
+*Getters n Setters
+*/
+   bool getRecurse();
+
+   std::string getPath();
+
+private:
+   bool recurse;
+
+   bool _serialize(DataStream* ds);
+   bool _equals(const NetMsg msg);
+
+   /* Disable copy cstr and =operator */
+   GeometryBoTReqMsg(GeometryBoTReqMsg const):GenericOneStringMsg(0,){};
+   GeometryBoTReqMsg operator=(GeometryBoTReqMsg const){};
+};
+
+#endif /* __GEOMETRYREQMSG_H__ */
+
+/*
+ * Local Variables: ***
+ * mode: C
+ * tab-width: 8
+ * c-basic-offset: 4 ***
+ * indent-tabs-mode: t
+ * End: ***
+ * ex: shiftwidth=4 tabstop=8
+*/


Property changes on: geomcore/trunk/include/GeometryBoTReqMsg.h
___
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Modified: geomcore/trunk/src/libNet/CMakeLists.txt
===
--- geomcore/trunk/src/libNet/CMakeLists.txt2011-04-04 14:27:26 UTC (rev 
44181)
+++ geomcore/trunk/src/libNet/CMakeLists.txt2011-04-04 14:45:12 UTC (rev 
44182)
@@ -49,6 +49,7 @@
netMsg/SessionInfoMsg.cxx
netMsg/NewNodeOnNetMsg.cxx
netMsg/GeometryReqMsg.cxx
+   netMsg/GeometryBoTReqMsg.cxx
netMsg/GeometryManifestMsg.cxx
netMsg/GeometryChunkMsg.cxx
netMsg/PingMsg.cxx
@@ -97,6 +98,7 @@
SessionInfoMsg.h
NewNodeOnNetMsg.h
GeometryReqMsg.h
+   GeometryBoTReqMsg.h
GeometryManifestMsg.h
GeometryChunkMsg.h
PingMsg.h

Added: geomcore/trunk/src/libNet/netMsg/GeometryBoTReqMsg.cxx
===
--- geomcore/trunk/src/libNet/netMsg/GeometryBoTReqMsg.cxx  
(rev 0)
+++ geomcore/trunk/src/libNet/netMsg/GeometryBoTReqMsg.cxx  2011-04-04 
14:45:12 UTC (rev 44182)
@@ -0,0 +1,103 @@
+/*   G E O M E T R Y B O T R E Q M S G . C X X
+ * BRL-CAD
+ *
+ * Copyright (c) 2011 United States Government as represented by
+ * the U.S. Army Research Laboratory.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this file; see the file named COPYING for more
+ * information.
+ */
+
+/** @file GeometryBoTReqMsg.cxx
+ *
+ * 

[brlcad-commits] SF.net SVN: brlcad:[44183] geomcore/trunk/src/interfaces/cl

2011-04-04 Thread erikgreenwald
Revision: 44183
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44183view=rev
Author:   erikgreenwald
Date: 2011-04-04 14:52:00 + (Mon, 04 Apr 2011)

Log Message:
---
add geombotreqmsg

Modified Paths:
--
geomcore/trunk/src/interfaces/cl/gsclient.lisp
geomcore/trunk/src/interfaces/cl/gsnet.lisp
geomcore/trunk/src/interfaces/cl/gsserver.lisp

Modified: geomcore/trunk/src/interfaces/cl/gsclient.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsclient.lisp  2011-04-04 14:45:12 UTC 
(rev 44182)
+++ geomcore/trunk/src/interfaces/cl/gsclient.lisp  2011-04-04 14:52:00 UTC 
(rev 44183)
@@ -12,13 +12,13 @@
 ;
 
 ;; this should probably check to make sure things are ok
-(defun getgeom (s st uri)
-  (gsnet:writemsg s (make-instance 'gsnet:geomreqmsg :uri uri))
+(defun getgeom (s st uri key (bot '()))
+  (gsnet:writemsg s (make-instance (if bot 'gsnet:geombotreqmsg 
'gsnet:geomreqmsg) :uri uri))
   (loop for i from 0 to (length (gsnet::manifest (gsnet:readmsg s))) do 
(write-sequence (gsnet::chunk (gsnet:readmsg s)) st)))
 
-(defun getgeomfile (s file uri)
+(defun getgeomfile (s file uri key (bot '()))
   (with-open-file (out file :element-type '(unsigned-byte 8) :direction 
:output)
-(getgeom s out uri)))
+(getgeom s out uri :bot bot)))
 
 (defun ping (s)
   (gsnet:writemsg s (make-instance 'gsnet:pingmsg))

Modified: geomcore/trunk/src/interfaces/cl/gsnet.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsnet.lisp 2011-04-04 14:45:12 UTC (rev 
44182)
+++ geomcore/trunk/src/interfaces/cl/gsnet.lisp 2011-04-04 14:52:00 UTC (rev 
44183)
@@ -4,7 +4,7 @@
 (defpackage :gsnet
   (:use :cl :sb-unix)
   (:export :connect :writemsg :readmsg
-  :session :message :pingmsg :pongmsg :nodenamemsg :loginmsg 
:logoutmsg :rualivemsg :imalivemsg :okmsg :failmsg :geomreqmsg :geommanifestmsg 
:geomchunkmsg
+  :session :message :pingmsg :pongmsg :nodenamemsg :loginmsg 
:logoutmsg :rualivemsg :imalivemsg :okmsg :failmsg :geomreqmsg :geombotreqmsg 
:geommanifestmsg :geomchunkmsg
   :manifest :remotenode :sessionuuid :socket :strm
   :usec))
 
@@ -28,6 +28,7 @@
 (defconstant +gsnsr+ #x0300) ; New Session Request
 (defconstant +gsinfo+#x0305) ; Session Information
 (defconstant +gsgr+  #x0400) ; Geometry Request
+(defconstant +gsgbr+ #x0401) ; Geometry BoT Request
 (defconstant +gsgm+  #x0405) ; Geometry Manifest
 (defconstant +gsgc+  #x0410) ; Geometry Chunk
 
@@ -90,6 +91,7 @@
  ((= type +gsrualive+) (writemsg s (make-instance 'imalivemsg)) t) ; 
automatically respond to rualive 
  ((= type +gsimalive+) (make-instance 'imalivemsg))
  ((= type +gsgr+) (make-instance 'geomreqmsg :uri (readgsstring (strm 
s
+ ((= type +gsgbr+) (make-instance 'geombotreqmsg :uri (readgsstring 
(strm s
  ((= type +gsgm+) (make-instance 'geommanifestmsg :manifest (loop for 
i from 1 to (readuint32 (strm s)) collect (readgsstring (strm s)
  ((= type +gsgc+) (make-instance 'geomchunkmsg :chunk 
  (let ((arr (make-array (+ (readuint32 (strm 
s)) 1) :element-type '(unsigned-byte 8
@@ -153,6 +155,10 @@
 (defmethod writemsg :before (s (m geomreqmsg)) (setf (msgtype m) +gsgr+) (setf 
(len m) (+ (length (uri m)) 4)))
 (defmethod writemsg :after (s (m geomreqmsg)) (writegsstring (strm s) (uri m)))
 
+(defclass geombotreqmsg (message) ((uri :accessor uri :initarg :uri :initform 
)))
+(defmethod writemsg :before (s (m geombotreqmsg)) (setf (msgtype m) +gsgr+) 
(setf (len m) (+ (length (uri m)) 4)))
+(defmethod writemsg :after (s (m geombotreqmsg)) (writegsstring (strm s) (uri 
m)))
+
 (defclass geommanifestmsg (message) ((manifest :accessor manifest :initarg 
:manifest)))
 (defmethod writemsg :before (s (m geommanifestmsg)) (setf (msgtype m) +gsgm+) 
(setf (len m) (apply #'+ 4 (mapcar (lambda (x) (+ (length x) 4)) (manifest 
m)
 (defmethod writemsg :after (s (m geommanifestmsg)) (writeuint32 (strm s) 
(length (manifest m))) (loop for i in (manifest m) do (writegsstring (strm s) 
i)))

Modified: geomcore/trunk/src/interfaces/cl/gsserver.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 14:45:12 UTC 
(rev 44182)
+++ geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 14:52:00 UTC 
(rev 44183)
@@ -21,6 +21,9 @@
   (read-sequence arr stream)
   (gsnet:writemsg s (make-instance 'gsnet:geomchunkmsg :chunk arr :reuuid 
reuuid)
 
+(defun send-bot-geom (s reuuid filename)
+  (gsnet:writemsg s (make-instance 'gsnet:failmsg)))
+
 (defun handle-connection (st)
   (let ((s (make-instance 'gsnet:session :stream st)))
 
@@ -40,6 +43,7 @@
 (let ((m (gsnet:readmsg s)))
  

[brlcad-commits] SF.net SVN: brlcad:[44185] geomcore/trunk/src/interfaces/cl/gsserver.lisp

2011-04-04 Thread erikgreenwald
Revision: 44185
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44185view=rev
Author:   erikgreenwald
Date: 2011-04-04 17:03:41 + (Mon, 04 Apr 2011)

Log Message:
---
Enable multi-threading. New 'stop' function. Hoist session loop. Use specified 
dir for geometry instead of cwd.

Modified Paths:
--
geomcore/trunk/src/interfaces/cl/gsserver.lisp

Modified: geomcore/trunk/src/interfaces/cl/gsserver.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 15:23:59 UTC 
(rev 44184)
+++ geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 17:03:41 UTC 
(rev 44185)
@@ -3,10 +3,11 @@
 
 (defpackage :gsserver
   (:use :cl :sb-unix)
-  (:export :run))
+  (:export :run :stop))
 
 (in-package :gsserver)
 
+(defparameter +dbdir+ /usr/brlcad/share/db/)
 (defparameter +nodename+ Spokelse)
 
 (defun authenticate (s user pass)
@@ -16,7 +17,7 @@
 
 (defun send-geom (s reuuid filename)
   (gsnet:writemsg s (make-instance 'gsnet:geommanifestmsg :manifest (list 
filename)))
-  (with-open-file (stream filename :element-type '(unsigned-byte 8) 
:if-does-not-exist :error)
+  (with-open-file (stream (concatenate +dbdir+ filename) :element-type 
'(unsigned-byte 8) :if-does-not-exist :error)
 (let ((arr (make-array (file-length stream) :element-type '(unsigned-byte 
8
   (read-sequence arr stream)
   (gsnet:writemsg s (make-instance 'gsnet:geomchunkmsg :chunk arr :reuuid 
reuuid)
@@ -24,15 +25,14 @@
 (defun send-bot-geom (s reuuid filename)
   (gsnet:writemsg s (make-instance 'gsnet:failmsg)))
 
-(defun connection-loop (s)
-  (loop do
-   (let ((m (gsnet:readmsg s)))
-(cond
-  ((equalp (type-of m) 'gsnet:geomreqmsg) (send-geom s (gsnet::uuid m) 
(gsnet::uri m)))
-  ((equalp (type-of m) 'gsnet:geombotreqmsg) (send-bot-geom s 
(gsnet::uuid m) (gsnet::uri m)))
-  ((equalp m t) '())
-  ((equalp m '()) (return-from connection-loop '()))
-  (t (format t Unhandled thing ~a~% (type-of m)))
+(defun handle-packet (s m)
+  (format t ~a~% (type-of m))
+  (cond
+((equalp (type-of m) 'gsnet:geomreqmsg) (send-geom s (gsnet::uuid m) 
(gsnet::uri m)))
+((equalp (type-of m) 'gsnet:geombotreqmsg) (send-bot-geom s (gsnet::uuid 
m) (gsnet::uri m)))
+((equalp m t) m)
+((equalp m '()) m)
+(t (format t Unhandled thing ~a~% (type-of m)
 
 (defun handle-connection (st)
   (let ((s (make-instance 'gsnet:session :stream st)))
@@ -49,12 +49,18 @@
 (gsnet:writemsg s (make-instance 'gsnet::infomsg :sessionuuid 
(gsnet::sessionuuid s)))
 
 ;;; main loop
-(connection-loop s)))
+(loop while (handle-packet s (gsnet:readmsg s)
 
 ;
 ;  public interface  
 ;
 
+(defun run (key (listenhost #(127 0 0 1)) (port 5309))
+  (usocket:socket-server listenhost port #'handle-connection  '() 
:element-type 'unsigned-byte :multi-threading t :in-new-thread t))
 
-(defun run (key (listenhost #(127 0 0 1)) (port 5309))
-  (usocket:socket-server listenhost port #'handle-connection  '() 
:element-type 'unsigned-byte))
+(defun stop ()
+  (map 'nil (lambda (th) 
+(cond 
+  ((equalp (sb-thread:thread-name th) USOCKET Client) 
(sb-thread:terminate-thread th))
+  ((equalp (sb-thread:thread-name th) USOCKET Server) 
(sb-thread:terminate-thread th
+   (sb-thread:list-all-threads)))


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44186] geomcore/trunk/src/interfaces/cl

2011-04-04 Thread erikgreenwald
Revision: 44186
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44186view=rev
Author:   erikgreenwald
Date: 2011-04-04 17:56:01 + (Mon, 04 Apr 2011)

Log Message:
---
fix off by one weirdness in chunk request

Modified Paths:
--
geomcore/trunk/src/interfaces/cl/gsclient.lisp
geomcore/trunk/src/interfaces/cl/gsnet.lisp
geomcore/trunk/src/interfaces/cl/gsserver.lisp

Modified: geomcore/trunk/src/interfaces/cl/gsclient.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsclient.lisp  2011-04-04 17:03:41 UTC 
(rev 44185)
+++ geomcore/trunk/src/interfaces/cl/gsclient.lisp  2011-04-04 17:56:01 UTC 
(rev 44186)
@@ -3,7 +3,7 @@
 
 (defpackage :gsclient
   (:use :cl :sb-unix)
-  (:export :login :logout :ping :getgeom))
+  (:export :login :logout :ping :getgeom :getgeomfile))
 
 (in-package :gsclient)
 
@@ -14,7 +14,7 @@
 ;; this should probably check to make sure things are ok
 (defun getgeom (s st uri key (bot '()))
   (gsnet:writemsg s (make-instance (if bot 'gsnet:geombotreqmsg 
'gsnet:geomreqmsg) :uri uri))
-  (loop for i from 0 to (length (gsnet::manifest (gsnet:readmsg s))) do 
(write-sequence (gsnet::chunk (gsnet:readmsg s)) st)))
+  (loop for i from 1 to (length (gsnet::manifest (gsnet:readmsg s))) do 
(write-sequence (gsnet::chunk (gsnet:readmsg s)) st :end (- (length ch) 1
 
 (defun getgeomfile (s file uri key (bot '()))
   (with-open-file (out file :element-type '(unsigned-byte 8) :direction 
:output)

Modified: geomcore/trunk/src/interfaces/cl/gsnet.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsnet.lisp 2011-04-04 17:03:41 UTC (rev 
44185)
+++ geomcore/trunk/src/interfaces/cl/gsnet.lisp 2011-04-04 17:56:01 UTC (rev 
44186)
@@ -94,9 +94,9 @@
  ((= type +gsgbr+) (make-instance 'geombotreqmsg :uri (readgsstring 
(strm s
  ((= type +gsgm+) (make-instance 'geommanifestmsg :manifest (loop for 
i from 1 to (readuint32 (strm s)) collect (readgsstring (strm s)
  ((= type +gsgc+) (make-instance 'geomchunkmsg :chunk 
- (let ((arr (make-array (+ (readuint32 (strm 
s)) 1) :element-type '(unsigned-byte 8
- (read-sequence arr (strm s)) 
- arr)))
+ (let ((arr (make-array (+ (readuint32 
(strm s) 1) :element-type '(unsigned-byte 8
+   (read-sequence arr (strm s))
+   arr
  ((= type +gsnsr+) (make-instance 'loginmsg :username (readgsstring 
(strm s)) :password (readgsstring (strm s
  (t (format t Unknown type! ~x~% type
   '()))
@@ -165,4 +165,4 @@
 
 (defclass geomchunkmsg (message) ((chunk :accessor chunk :initarg :chunk)))
 (defmethod writemsg :before (s (m geomchunkmsg)) (setf (msgtype m) +gsgc+) 
(setf (len m) (length (chunk m
-(defmethod writemsg :after (s (m geomchunkmsg)) (writeuint32 (strm s) (length 
(chunk m))) (write-sequence (chunk m) (strm s)))
+(defmethod writemsg :after (s (m geomchunkmsg)) (writeuint32 (strm s) (- 
(length (chunk m)) 1)) (write-sequence (chunk m) (strm s)))

Modified: geomcore/trunk/src/interfaces/cl/gsserver.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 17:03:41 UTC 
(rev 44185)
+++ geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 17:56:01 UTC 
(rev 44186)
@@ -17,8 +17,8 @@
 
 (defun send-geom (s reuuid filename)
   (gsnet:writemsg s (make-instance 'gsnet:geommanifestmsg :manifest (list 
filename)))
-  (with-open-file (stream (concatenate +dbdir+ filename) :element-type 
'(unsigned-byte 8) :if-does-not-exist :error)
-(let ((arr (make-array (file-length stream) :element-type '(unsigned-byte 
8
+  (with-open-file (stream (concatenate 'string +dbdir+ filename) :element-type 
'(unsigned-byte 8) :if-does-not-exist :error)
+(let ((arr (make-array (+ (file-length stream) 1) :element-type 
'(unsigned-byte 8
   (read-sequence arr stream)
   (gsnet:writemsg s (make-instance 'gsnet:geomchunkmsg :chunk arr :reuuid 
reuuid)
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44187] geomcore/trunk/src/interfaces/cl/gsserver.lisp

2011-04-04 Thread erikgreenwald
Revision: 44187
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44187view=rev
Author:   erikgreenwald
Date: 2011-04-04 18:04:07 + (Mon, 04 Apr 2011)

Log Message:
---
remove packet type display

Modified Paths:
--
geomcore/trunk/src/interfaces/cl/gsserver.lisp

Modified: geomcore/trunk/src/interfaces/cl/gsserver.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 17:56:01 UTC 
(rev 44186)
+++ geomcore/trunk/src/interfaces/cl/gsserver.lisp  2011-04-04 18:04:07 UTC 
(rev 44187)
@@ -26,7 +26,6 @@
   (gsnet:writemsg s (make-instance 'gsnet:failmsg)))
 
 (defun handle-packet (s m)
-  (format t ~a~% (type-of m))
   (cond
 ((equalp (type-of m) 'gsnet:geomreqmsg) (send-geom s (gsnet::uuid m) 
(gsnet::uri m)))
 ((equalp (type-of m) 'gsnet:geombotreqmsg) (send-bot-geom s (gsnet::uuid 
m) (gsnet::uri m)))


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44188] geomcore/trunk/src/interfaces/cl

2011-04-04 Thread erikgreenwald
Revision: 44188
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44188view=rev
Author:   erikgreenwald
Date: 2011-04-04 18:04:41 + (Mon, 04 Apr 2011)

Log Message:
---
fix malformed expressions

Modified Paths:
--
geomcore/trunk/src/interfaces/cl/gsclient.lisp
geomcore/trunk/src/interfaces/cl/gsnet.lisp

Modified: geomcore/trunk/src/interfaces/cl/gsclient.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsclient.lisp  2011-04-04 18:04:07 UTC 
(rev 44187)
+++ geomcore/trunk/src/interfaces/cl/gsclient.lisp  2011-04-04 18:04:41 UTC 
(rev 44188)
@@ -14,7 +14,7 @@
 ;; this should probably check to make sure things are ok
 (defun getgeom (s st uri key (bot '()))
   (gsnet:writemsg s (make-instance (if bot 'gsnet:geombotreqmsg 
'gsnet:geomreqmsg) :uri uri))
-  (loop for i from 1 to (length (gsnet::manifest (gsnet:readmsg s))) do 
(write-sequence (gsnet::chunk (gsnet:readmsg s)) st :end (- (length ch) 1
+  (loop for i from 1 to (length (gsnet::manifest (gsnet:readmsg s))) do (let 
((ch (gsnet::chunk (gsnet:readmsg s (write-sequence ch st :end (- (length 
ch) 1)
 
 (defun getgeomfile (s file uri key (bot '()))
   (with-open-file (out file :element-type '(unsigned-byte 8) :direction 
:output)

Modified: geomcore/trunk/src/interfaces/cl/gsnet.lisp
===
--- geomcore/trunk/src/interfaces/cl/gsnet.lisp 2011-04-04 18:04:07 UTC (rev 
44187)
+++ geomcore/trunk/src/interfaces/cl/gsnet.lisp 2011-04-04 18:04:41 UTC (rev 
44188)
@@ -94,9 +94,9 @@
  ((= type +gsgbr+) (make-instance 'geombotreqmsg :uri (readgsstring 
(strm s
  ((= type +gsgm+) (make-instance 'geommanifestmsg :manifest (loop for 
i from 1 to (readuint32 (strm s)) collect (readgsstring (strm s)
  ((= type +gsgc+) (make-instance 'geomchunkmsg :chunk 
- (let ((arr (make-array (+ (readuint32 
(strm s) 1) :element-type '(unsigned-byte 8
+ (let ((arr (make-array (+ (readuint32 
(strm s)) 1) :element-type '(unsigned-byte 8
(read-sequence arr (strm s))
-   arr
+   arr)))
  ((= type +gsnsr+) (make-instance 'loginmsg :username (readgsstring 
(strm s)) :password (readgsstring (strm s
  (t (format t Unknown type! ~x~% type
   '()))


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44190] brlcad/branches/cmake/src/libtclcad/CMakeLists. txt

2011-04-04 Thread starseeker
Revision: 44190
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44190view=rev
Author:   starseeker
Date: 2011-04-04 18:47:43 + (Mon, 04 Apr 2011)

Log Message:
---
Update libtclcad CMakeLists.txt file

Modified Paths:
--
brlcad/branches/cmake/src/libtclcad/CMakeLists.txt

Modified: brlcad/branches/cmake/src/libtclcad/CMakeLists.txt
===
--- brlcad/branches/cmake/src/libtclcad/CMakeLists.txt  2011-04-04 18:39:00 UTC 
(rev 44189)
+++ brlcad/branches/cmake/src/libtclcad/CMakeLists.txt  2011-04-04 18:47:43 UTC 
(rev 44190)
@@ -37,7 +37,6 @@
tclcad.c
tclcadAutoPath.c
tkImgFmtPIX.c
-   ged_obj.c
)
 BRLCAD_ADDLIB(libtclcad ${LIBTCLCAD_SRCS} libged libdm ${TCLCAD_XLIBS} 
${X11_Xi_LIB})
 SET_TARGET_PROPERTIES(libtclcad PROPERTIES VERSION 19.0.1 SOVERSION 19)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44192] brlcad/trunk

2011-04-04 Thread bob1961
Revision: 44192
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44192view=rev
Author:   bob1961
Date: 2011-04-04 19:16:06 + (Mon, 04 Apr 2011)

Log Message:
---
Mods to get libtclcad compiling again.

Modified Paths:
--
brlcad/trunk/include/ged.h
brlcad/trunk/include/tclcad.h
brlcad/trunk/src/libtclcad/tclcad_obj.c

Modified: brlcad/trunk/include/ged.h
===
--- brlcad/trunk/include/ged.h  2011-04-04 18:49:53 UTC (rev 44191)
+++ brlcad/trunk/include/ged.h  2011-04-04 19:16:06 UTC (rev 44192)
@@ -35,6 +35,7 @@
 #endif
 
 #include raytrace.h
+#include fbserv_obj.h
 
 
 __BEGIN_DECLS
@@ -73,6 +74,7 @@
 #define GED_DISPLAY_LIST_NULL (struct ged_display_list *)0
 #define GED_DRAWABLE_NULL (struct ged_drawable *)0
 #define GED_VIEW_NULL (struct ged_view *)0
+#define GED_OBJ_NULL (struct ged_obj *)0
 
 #define GED_VIEW_OBJ_NULL ((struct view_obj *)0)
 #define GED_RESULT_NULL ((void *)0)
@@ -97,6 +99,11 @@
 #define GED_PTRANSLATE_MODE 14
 #define GED_RECTANGLE_MODE 15
 
+#define GED_OBJ_FB_MODE_OFF 0
+#define GED_OBJ_FB_MODE_UNDERLAY 1
+#define GED_OBJ_FB_MODE_INTERLAY 2
+#define GED_OBJ_FB_MODE_OVERLAY  3
+
 /**
  * S E M A P H O R E S
  *
@@ -451,7 +458,6 @@
 #endif
 };
 
-
 struct ged_view {
 struct bu_list l;
 fastf_tgv_scale;
@@ -501,7 +507,6 @@
 struct ged_rect_state  gv_rect;
 };
 
-
 struct ged {
 struct bu_list l;
 struct rt_wdb  *ged_wdbp;
@@ -560,7 +565,28 @@
 intvo_zclip;
 };
 
+struct ged_dm_view {
+struct bu_list l;
+struct bu_vls  gdv_callback;
+struct bu_vls  gdv_name;
+struct ged_view*gdv_view;
+struct dm  *gdv_dmp;
+struct fbserv_obj  gdv_fbs;
+struct ged_obj *gdv_gop; /* Pointer back to its ged object */
+};
 
+struct ged_obj {
+struct ged *go_gedp;
+struct ged_dm_view go_head_views;
+struct bu_vls  go_name;
+struct bu_observer go_observers;
+struct bu_vls  go_more_args_callback;
+struct bu_vls  go_rt_end_callback;
+struct bu_vls  *go_prim_label_list;
+intgo_prim_label_list_size;
+intgo_refresh_on;
+};
+
 /* defined in adc.c */
 GED_EXPORT BU_EXTERN(void ged_calc_adc_pos,
 (struct ged_view *gvp));
@@ -620,6 +646,14 @@
 GED_EXPORT BU_EXTERN(void ged_view_init,
 (struct ged_view *gvp));
 
+/* defined in go_refresh.c */
+GED_EXPORT BU_EXTERN(void go_refresh,
+(struct ged_obj *gop,
+ struct ged_dm_view *gdvp));
+GED_EXPORT BU_EXTERN(void go_refresh_draw,
+(struct ged_obj *gop,
+ struct ged_dm_view *gdvp));
+
 /* defined in grid.c */
 GED_EXPORT BU_EXTERN(void ged_snap_to_grid,
 (struct ged *gedp, fastf_t *vx, fastf_t *vy));

Modified: brlcad/trunk/include/tclcad.h
===
--- brlcad/trunk/include/tclcad.h   2011-04-04 18:49:53 UTC (rev 44191)
+++ brlcad/trunk/include/tclcad.h   2011-04-04 19:16:06 UTC (rev 44192)
@@ -61,39 +61,14 @@
 #define TCLCAD_EXTERN(type_and_name, args) extern type_and_name args
 #define TCLCAD_ARGS(args) args
 
-#define GED_OBJ_NUM_VIEWS 4
-#define GED_OBJ_FB_MODE_OFF 0
-#define GED_OBJ_FB_MODE_UNDERLAY 1
-#define GED_OBJ_FB_MODE_INTERLAY 2
-#define GED_OBJ_FB_MODE_OVERLAY  3
-
-struct ged_dm_view {
-struct bu_list l;
-struct bu_vls  gdv_callback;
-struct bu_vls  gdv_name;
-struct ged_view*gdv_view;
-struct dm  *gdv_dmp;
-struct fbserv_obj  gdv_fbs;
-struct ged_obj *gdv_gop; /* Pointer back to its ged object */
-};
-
-struct ged_obj {
+struct tclcad_obj {
 struct bu_list l;
-struct ged *go_gedp;
-struct ged_dm_view go_head_views;
-struct bu_vls  go_name;
-struct bu_observer go_observers;
-struct bu_vls  go_more_args_callback;
-struct bu_vls  go_rt_end_callback;
-struct bu_vls  *go_prim_label_list;
-intgo_prim_label_list_size;
-intgo_refresh_on;
-Tcl_Interp *go_interp;
+struct ged_obj *to_gop;
+Tcl_Interp *to_interp;
 };
 
-#define GED_OBJ_NULL (struct ged_obj *)0
+#define TCLCAD_OBJ_NULL (struct tclcad_obj *)0
 
-
 TCLCAD_EXPORT TCLCAD_EXTERN(int tclcad_tk_setup, (Tcl_Interp *interp));
 TCLCAD_EXPORT TCLCAD_EXTERN(void tclcad_auto_path, (Tcl_Interp *interp));
 TCLCAD_EXPORT TCLCAD_EXTERN(void tclcad_tcl_library, (Tcl_Interp *interp));

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===
--- 

[brlcad-commits] SF.net SVN: brlcad:[44193] brlcad/branches/cmake

2011-04-04 Thread starseeker
Revision: 44193
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44193view=rev
Author:   starseeker
Date: 2011-04-04 19:27:11 + (Mon, 04 Apr 2011)

Log Message:
---
MFC r44192

Modified Paths:
--
brlcad/branches/cmake/include/ged.h
brlcad/branches/cmake/include/tclcad.h
brlcad/branches/cmake/src/libtclcad/tclcad_obj.c

Modified: brlcad/branches/cmake/include/ged.h
===
--- brlcad/branches/cmake/include/ged.h 2011-04-04 19:16:06 UTC (rev 44192)
+++ brlcad/branches/cmake/include/ged.h 2011-04-04 19:27:11 UTC (rev 44193)
@@ -35,6 +35,7 @@
 #endif
 
 #include raytrace.h
+#include fbserv_obj.h
 
 
 __BEGIN_DECLS
@@ -73,6 +74,7 @@
 #define GED_DISPLAY_LIST_NULL (struct ged_display_list *)0
 #define GED_DRAWABLE_NULL (struct ged_drawable *)0
 #define GED_VIEW_NULL (struct ged_view *)0
+#define GED_OBJ_NULL (struct ged_obj *)0
 
 #define GED_VIEW_OBJ_NULL ((struct view_obj *)0)
 #define GED_RESULT_NULL ((void *)0)
@@ -97,6 +99,11 @@
 #define GED_PTRANSLATE_MODE 14
 #define GED_RECTANGLE_MODE 15
 
+#define GED_OBJ_FB_MODE_OFF 0
+#define GED_OBJ_FB_MODE_UNDERLAY 1
+#define GED_OBJ_FB_MODE_INTERLAY 2
+#define GED_OBJ_FB_MODE_OVERLAY  3
+
 /**
  * S E M A P H O R E S
  *
@@ -451,7 +458,6 @@
 #endif
 };
 
-
 struct ged_view {
 struct bu_list l;
 fastf_tgv_scale;
@@ -501,7 +507,6 @@
 struct ged_rect_state  gv_rect;
 };
 
-
 struct ged {
 struct bu_list l;
 struct rt_wdb  *ged_wdbp;
@@ -560,7 +565,28 @@
 intvo_zclip;
 };
 
+struct ged_dm_view {
+struct bu_list l;
+struct bu_vls  gdv_callback;
+struct bu_vls  gdv_name;
+struct ged_view*gdv_view;
+struct dm  *gdv_dmp;
+struct fbserv_obj  gdv_fbs;
+struct ged_obj *gdv_gop; /* Pointer back to its ged object */
+};
 
+struct ged_obj {
+struct ged *go_gedp;
+struct ged_dm_view go_head_views;
+struct bu_vls  go_name;
+struct bu_observer go_observers;
+struct bu_vls  go_more_args_callback;
+struct bu_vls  go_rt_end_callback;
+struct bu_vls  *go_prim_label_list;
+intgo_prim_label_list_size;
+intgo_refresh_on;
+};
+
 /* defined in adc.c */
 GED_EXPORT BU_EXTERN(void ged_calc_adc_pos,
 (struct ged_view *gvp));
@@ -620,6 +646,14 @@
 GED_EXPORT BU_EXTERN(void ged_view_init,
 (struct ged_view *gvp));
 
+/* defined in go_refresh.c */
+GED_EXPORT BU_EXTERN(void go_refresh,
+(struct ged_obj *gop,
+ struct ged_dm_view *gdvp));
+GED_EXPORT BU_EXTERN(void go_refresh_draw,
+(struct ged_obj *gop,
+ struct ged_dm_view *gdvp));
+
 /* defined in grid.c */
 GED_EXPORT BU_EXTERN(void ged_snap_to_grid,
 (struct ged *gedp, fastf_t *vx, fastf_t *vy));

Modified: brlcad/branches/cmake/include/tclcad.h
===
--- brlcad/branches/cmake/include/tclcad.h  2011-04-04 19:16:06 UTC (rev 
44192)
+++ brlcad/branches/cmake/include/tclcad.h  2011-04-04 19:27:11 UTC (rev 
44193)
@@ -61,39 +61,14 @@
 #define TCLCAD_EXTERN(type_and_name, args) extern type_and_name args
 #define TCLCAD_ARGS(args) args
 
-#define GED_OBJ_NUM_VIEWS 4
-#define GED_OBJ_FB_MODE_OFF 0
-#define GED_OBJ_FB_MODE_UNDERLAY 1
-#define GED_OBJ_FB_MODE_INTERLAY 2
-#define GED_OBJ_FB_MODE_OVERLAY  3
-
-struct ged_dm_view {
-struct bu_list l;
-struct bu_vls  gdv_callback;
-struct bu_vls  gdv_name;
-struct ged_view*gdv_view;
-struct dm  *gdv_dmp;
-struct fbserv_obj  gdv_fbs;
-struct ged_obj *gdv_gop; /* Pointer back to its ged object */
-};
-
-struct ged_obj {
+struct tclcad_obj {
 struct bu_list l;
-struct ged *go_gedp;
-struct ged_dm_view go_head_views;
-struct bu_vls  go_name;
-struct bu_observer go_observers;
-struct bu_vls  go_more_args_callback;
-struct bu_vls  go_rt_end_callback;
-struct bu_vls  *go_prim_label_list;
-intgo_prim_label_list_size;
-intgo_refresh_on;
-Tcl_Interp *go_interp;
+struct ged_obj *to_gop;
+Tcl_Interp *to_interp;
 };
 
-#define GED_OBJ_NULL (struct ged_obj *)0
+#define TCLCAD_OBJ_NULL (struct tclcad_obj *)0
 
-
 TCLCAD_EXPORT TCLCAD_EXTERN(int tclcad_tk_setup, (Tcl_Interp *interp));
 TCLCAD_EXPORT TCLCAD_EXTERN(void tclcad_auto_path, (Tcl_Interp *interp));
 TCLCAD_EXPORT TCLCAD_EXTERN(void tclcad_tcl_library, (Tcl_Interp *interp));

Modified: brlcad/branches/cmake/src/libtclcad/tclcad_obj.c

[brlcad-commits] SF.net SVN: brlcad:[44195] geomcore/trunk/src/libgvm/gvm.h

2011-04-04 Thread starseeker
Revision: 44195
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44195view=rev
Author:   starseeker
Date: 2011-04-04 19:43:56 + (Mon, 04 Apr 2011)

Log Message:
---
will probably want to populate lists from repositories to have an easy format 
to send over the wire.

Modified Paths:
--
geomcore/trunk/src/libgvm/gvm.h

Modified: geomcore/trunk/src/libgvm/gvm.h
===
--- geomcore/trunk/src/libgvm/gvm.h 2011-04-04 19:29:52 UTC (rev 44194)
+++ geomcore/trunk/src/libgvm/gvm.h 2011-04-04 19:43:56 UTC (rev 44195)
@@ -157,6 +157,34 @@
 int recursive));
 
 /**
+ * GVM model level routines
+ */
+
+/* Add a new, empty model to a repository */
+GVM_EXPORT GVM_EXTERN(int gvm_new_model,
+  (struct gvm_info *repo_info,
+   const char *model_name));
+
+/* Populate repo_info's objects list with the contents of
+ * a complete model repository. If ver_num
+ * is LATEST_VERSION use latest revision */
+GVM_EXPORT GVM_EXTERN(int gvm_get_model,
+   (struct gvm_info *repo_info,
+const char *model_name, 
+size_t ver_num));
+
+/* Populate repo_info's objects list with a  subset of a 
+ * model repository. If ver_num is LATEST_VERSION use 
+ * latest revision.  If recursive is 1 add all objects
+ * below the specified object in the tree. */
+GVM_EXPORT GVM_EXTERN(int gvm_get_objs,
+   (struct gvm_info *repo_info,
+const char *model_name, 
+const char *obj_name, 
+size_t ver_num,
+int recursive));
+
+/**
  * GVM object level routines
  */
 
@@ -188,7 +216,6 @@
struct repository_objects *obj1,
struct repository_objects *obj2));
 
-
 /* Add a repository_objects struct to repo_info's
  * objects list */
 GVM_EXPORT GVM_EXTERN(int gvm_add_to_list,
@@ -215,23 +242,3 @@
 GVM_EXPORT GVM_EXTERN(int gvm_commit_objs,
   (struct gvm_info *repo_info));
 
-/* Populate repo_info's objects list with the contents of
- * a complete model repository. If ver_num
- * is LATEST_VERSION use latest revision */
-GVM_EXPORT GVM_EXTERN(int gvm_get_model,
-   (struct gvm_info *repo_info,
-const char *model_name, 
-size_t ver_num));
-
-/* Populate repo_info's objects list with a  subset of a 
- * model repository. If ver_num is LATEST_VERSION use 
- * latest revision.  If recursive is 1 add all objects
- * below the specified object in the tree. */
-GVM_EXPORT GVM_EXTERN(int gvm_get_objs,
-   (struct gvm_info *repo_info,
-const char *model_name, 
-const char *obj_name, 
-size_t ver_num,
-int recursive));
-
-


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits


[brlcad-commits] SF.net SVN: brlcad:[44196] geomcore/trunk/src/interfaces/cl

2011-04-04 Thread erikgreenwald
Revision: 44196
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44196view=rev
Author:   erikgreenwald
Date: 2011-04-04 20:37:04 + (Mon, 04 Apr 2011)

Log Message:
---
start up a cffi wrapper for librt

Added Paths:
---
geomcore/trunk/src/interfaces/cl/brlcad.asd
geomcore/trunk/src/interfaces/cl/brlcad.lisp

Added: geomcore/trunk/src/interfaces/cl/brlcad.asd
===
--- geomcore/trunk/src/interfaces/cl/brlcad.asd (rev 0)
+++ geomcore/trunk/src/interfaces/cl/brlcad.asd 2011-04-04 20:37:04 UTC (rev 
44196)
@@ -0,0 +1,14 @@
+ -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+
+(asdf:defsystem brlcad
+ :name brlcad
+ :version 0.0.0
+ :maintainer Erik G
+ :author Erik G
+ :licence BSD sans advertising clause (see file COPYING for details)
+ :description GeometryService client
+ :long-description Common Lisp client interface for the BRL-CAD Geometry 
Service protocol
+ :serial t
+ :depends-on (:cffi)
+ :components ((:file brlcad)))
+


Property changes on: geomcore/trunk/src/interfaces/cl/brlcad.asd
___
Added: svn:mime-type
   + text/plain
Added: svn::eol-style
   + native
Added: svn:eol-style
   + native

Added: geomcore/trunk/src/interfaces/cl/brlcad.lisp
===
--- geomcore/trunk/src/interfaces/cl/brlcad.lisp
(rev 0)
+++ geomcore/trunk/src/interfaces/cl/brlcad.lisp2011-04-04 20:37:04 UTC 
(rev 44196)
@@ -0,0 +1,112 @@
+;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+(in-package :cl-user)
+
+(defpackage :brlcad
+ (:use :cl :cffi)
+ (:export :db-open))
+
+(in-package :brlcad)
+
+(pushnew #P/usr/brlcad/lib/ cffi:*foreign-library-directories* :test #'equal)
+#+darwin(pushnew #P/usr/brlcad/lib/ cffi:*darwin-framework-directories* 
:test #'equal)
+
+(cffi:define-foreign-library librt 
+   (:darwin (:or librt.19.dylib librt.dylib))
+   (:unix (:or librt.19.so librt.so))
+   (:windows librt.dll)
+   (t (:default librt)))
+(cffi:use-foreign-library librt)
+
+;;
+
+(defcstruct xray Ray
+  (magic :uint32)
+  (index :int)
+  (r_pt :double :count 3)
+  (r_dir :double :count 3)
+  (r_min :double)
+  (r_man :double))
+
+(defcstruct application Application structure
+  (a_magic :uint32)
+  
+  ;;; THESE ELEMENTS ARE MANDATORY
+  (a_ray xray) ; Actual ray to be shot
+  
+  (a_hit :pointer)
+  (a_miss :pointer)
+  
+  (a_onehit :int)  ; flag to stop on first hit
+  (a_ray_length :double) ; distance from ray start to end :intersections
+  (a_rt_i :pointer); this librt instance
+  (a_zero1 :int)   ; must be zero (sanity check)
+  ;;; THESE ELEMENTS ARE USED BY THE LIBRARY, BUT MAY BE LEFT ZERO
+  (a_resource :pointer); dynamic memory resources
+  
+  (a_overlap :pointer)
+  (a_multioverlap :pointer)
+  (a_logoverlap :pointer)
+  
+  (a_level :int); recursion level (for pr:inting)
+  (a_x :int) ; Screen X of ray, if applicable
+  (a_y :int) ; Screen Y of ray, if applicable
+  (a_purpose :string)  ; Debug string: purpose of ray
+  (a_rbeam :double); initial beam radius (mm)
+  (a_diverge :double)  ; slope of beam divergance/mm
+  (a_return :int)  ; Return of a_hit()/a_miss()
+  (a_no_booleans :int); 1= partitions==segs, no booleans
+  (attrs :pointer) ; null terminated list of attributes This list should be 
the same as passed to rt_gettrees_and_attrs()
+  
+  ;;; THESE ELEMENTS ARE USED BY THE PROGRAM rt AND MAY BE USED BY
+  ;;; THE LIBRARY AT SOME FUTURE DATE
+  ;;; AT THIS TIME THEY MAY BE LEFT ZERO
+  (a_pixelext :pointer); locations of pixel corners
+  
+  ;;; THESE ELEMENTS ARE WRITTEN BY THE LIBRARY, AND MAY BE READ IN a_hit()
+  (a_finished_segs_hdp :pointer)
+  (a_Final_Part_hdp :pointer)
+  (a_inv_dir :double :count 3) ; filled in by rt_shootray(), inverse of ray 
direction cosines
+  
+  ;;; THE FOLLOWING ELEMENTS ARE MAINLINE  APPLICATION SPECIFIC.
+  ;;; THEY ARE NEVER EXAMINED BY THE LIBRARY.
+  (a_user :int); application-specific value
+  (a_uptr :pointer)   ; application-specific pointer
+  (a_spectrum :pointer)
+  (a_color :double :count 3)   ; application-specific color
+  (a_dist :double); application-specific distance
+  (a_uvec :double :count 3); application-specific vector
+  (a_vvec :double :count 3); application-specific vector
+  (a_refrac_index :double) ; current index of refraction
+  (a_cumlen :double)   ; cumulative length of ray
+  (a_flag :int); application-specific flag
+  (a_zero2 :int))  ; must be zero (sanity check)
+

[brlcad-commits] SF.net SVN: brlcad:[44197] geomcore/trunk/src/interfaces/cl/brlcad.lisp

2011-04-04 Thread erikgreenwald
Revision: 44197
  http://brlcad.svn.sourceforge.net/brlcad/?rev=44197view=rev
Author:   erikgreenwald
Date: 2011-04-04 21:05:45 + (Mon, 04 Apr 2011)

Log Message:
---
Fix magic sizes (this may be a bug in librt?). Fix up the rt-open func.

Modified Paths:
--
geomcore/trunk/src/interfaces/cl/brlcad.lisp

Modified: geomcore/trunk/src/interfaces/cl/brlcad.lisp
===
--- geomcore/trunk/src/interfaces/cl/brlcad.lisp2011-04-04 20:37:04 UTC 
(rev 44196)
+++ geomcore/trunk/src/interfaces/cl/brlcad.lisp2011-04-04 21:05:45 UTC 
(rev 44197)
@@ -20,7 +20,7 @@
 ;;
 
 (defcstruct xray Ray
-  (magic :uint32)
+  (magic :unsigned-long)
   (index :int)
   (r_pt :double :count 3)
   (r_dir :double :count 3)
@@ -28,7 +28,7 @@
   (r_man :double))
 
 (defcstruct application Application structure
-  (a_magic :uint32)
+  (a_magic :unsigned-long)
   
   ;;; THESE ELEMENTS ARE MANDATORY
   (a_ray xray) ; Actual ray to be shot
@@ -106,7 +106,7 @@
 ;;
 
 (defun rt-open (filename regions)
-  (let ((a (foreign-alloc (foreign-type-size 'application
-(setf (application-a_rt_i a) (rt-dirbuild filename RT 0))
-(loop for region in regions do (rt-gettree (application-a_rt_i a) region))
+  (with-foreign-object (a 'application)
+(setf (foreign-slot-value a 'application 'a_rt_i) (rt-dirbuild filename 
RT 0))
+(loop for region in regions do (rt-gettree (foreign-slot-value a 
'application 'a_rt_i) region))
 a))


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

--
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
___
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits