# HG changeset patch # User Shinji KONO # Date 1257341242 -32400 # Node ID e0986347b103a02fbaf63be687ed8dbe0d42168d # Parent 20166ecb1a7861ffb6e9bb9f95778c37d14843ea add xdr test routine... diff -r 20166ecb1a78 -r e0986347b103 Renderer/Test/dynamic_create.cc --- a/Renderer/Test/dynamic_create.cc Wed Nov 04 15:57:23 2009 +0900 +++ b/Renderer/Test/dynamic_create.cc Wed Nov 04 22:27:22 2009 +0900 @@ -85,16 +85,16 @@ { // LindaServerから座標データを取得してオブジェクトに反映させる。 // static int seq = 0; - unsigned char *reply; + float *reply; // if (seq == 0) // seq = psx_wait_rd(sgroot->tid, node->id * 10 + 1); - - reply = psx_reply(node->seq); + unsigned char reply = psx_reply(node->seq); if (reply != NULL) { float *data = (float *)(reply + LINDA_HEADER_SIZE); + // ntoh_float(&data[0]); ntoh_float(&data[1]); for (int i = 0; i < 3; i++) { - node->xyz[i] = ntohl(data[i]); + node->xyz[i] = data[i]; } node->seq = psx_wait_rd(sgroot->tid, node->id * 10 + 1); } diff -r 20166ecb1a78 -r e0986347b103 Renderer/Test/send_linda.cc --- a/Renderer/Test/send_linda.cc Wed Nov 04 15:57:23 2009 +0900 +++ b/Renderer/Test/send_linda.cc Wed Nov 04 22:27:22 2009 +0900 @@ -20,21 +20,22 @@ send_position(SceneGraphPtr node) { char *data; - char send_data[SEND_DATA_SIZE]; // xyz[3] and angle[3] + float send_data[6]; // xyz[3] and angle[3] int tapleid = node->id * 10 + 1; int fd = *(int*)node->propertyptr; int seq; int i; for (i = 0; i < 3; i ++) { - ((float *)send_data)[i] = htonl(node->xyz[i]); - ((float *)send_data)[i+3] = htonl(node->angle[i]); + send_data[i] = node->xyz[i]; + send_data[i+3] = node->angle[i]; } seq = psx_in(fd, tapleid); do { psx_sync_n(); data = (char *)psx_reply(seq); } while (data == NULL); + // hton_float(&send_data[0]); hton_float(&send_data[1]); psx_out(fd, tapleid, (unsigned char *)send_data, SEND_DATA_SIZE); psx_sync_n(); psx_free(data); diff -r 20166ecb1a78 -r e0986347b103 old/tmp/test.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/old/tmp/test.c Wed Nov 04 22:27:22 2009 +0900 @@ -0,0 +1,50 @@ + + +#include +#include +#include + +#define FALSE 0 +#define TRUE 1 +typedef int bool_t; +typedef int enum_t; + +#include + +#define CHUNK 1024 + + +int +main() +{ + XDR xdrs; + double dp[6]; + + int size = CHUNK; + char *addr = (char*)malloc(size); + int i; + + double d = 0.1; + xdrmem_create(&xdrs, addr, size, XDR_ENCODE); + + for (i = 0; i< 6; i++) { + dp[i] = d * i; + xdr_double(&xdrs, &dp[i]); + } + + for (i = 0; i< 6; i++) dp[i] = 0.0; + + xdrmem_create(&xdrs, addr, size, XDR_DECODE); + + for (i = 0; i< 6; i++) { + xdr_double(&xdrs, &dp[i]); + printf("%g ",dp[i]); + } + printf("\n"); + + + + +} + +