Joe Van Dyk wrote:
> (I've already looked at Swig, btw.  I'd like to do this one by hand.)
> 
> I have the following:
> 
> typedef struct {
>   double x;
>   double y;
>   double z;
> } VelocityRecord;
> 
> typedef struct {
>   double x;
>   double y;
>   double z;
> } PositionRecord;
> 
> typedef struct {
>   int id;
>   int type;
>   PositionRecord position;
>   VelocityRecord velocity;
> } Player;
> 
> Player Players[10];
> 
> 
> The number of Players is fixed ahead of time.  I want to be able to
> access that data from Ruby.  Ideally, something like:
> 
> module Simulation
>     attr_accessor :players  # Other stuff will be here
>     class Player
>         class VelocityRecord
>             attr_accessor :x, :y :z
>         end
>         class PositionRecord
>           attr_accessor :x, :y, :z
>         end
>     end
> end

My typical recommendation is to just wrap a pointer to
the struct and pass that around. Then, for each method
just extract the pointer, access the correct field and
generate a VALUE out of that (inside the function that
corresponds to the method).


E

-- 
Posted via http://www.ruby-forum.com/.