ftp.nice.ch/pub/next/graphics/3d/geomview.1.4.1.s.tar.gz#/Geomview/src/bin/geomview/common/transform.h

This is transform.h in view mode; [Download] [Up]

typedef struct Motion {
  int moving_id;
  int center_id;
  int frame_id;
  void (*transform)();
  float amount[3];
  float timeunit;
  struct Motion *next;
} Motion;

void drawer_transform(
  int moving_id, int center_id, int frame_id,
  int transform_type,
  float amount[3],
  float timeunit,
  char *repeat_type
  );

void drawer_position( int moving_id, int ref_id, char *position_type,
		     char *center );
void drawer_zoom(int id, float amount);
void drawer_scale(int id, float amount);
void set_motion(Motion *motion);
void apply_motion(Motion *motion, float dt);

void _translate(float amount[3], Point *pt, Transform T, int space, int frame);
void _translate_scaled(float amount[3], Point *pt, Transform T, int space, int frame);
void euclidean_translate(float amount[3], Point *pt, Transform T, int space, int frame);
void euclidean_translate_scaled(float amount[3], Point *pt, Transform T,
				 int space, int frame);
void hyperbolic_translate(float amount[3], Point *pt, Transform T, int space, int frame);
void hyperbolic_translate_scaled(float amount[3], Point *pt, Transform T,
				 int space, int frame);
void spherical_translate(float amount[3], Point *pt, Transform T, int space, int frame);
void spherical_translate_scaled(float amount[3], Point *pt, Transform T,
				int space, int frame);
void _rotate(float amount[3], Point *pt, Transform T, int space, int frame);

void insert_motion(Motion *motion);
void apply_all_motions(float dt);
void do_motion(float dt);
void delete_like_motions(Motion *m);
void drawer_post_xform(int id, Transform T);

int e3space(void *data);
int h3space(void *data);

void stop_motions(int id);
int motions_exist();
int real_id(int id);

void make_center(char *objname, Point3 *pt);
void make_center_from_pick(char *objname, Pick *pick, int focalcam);

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.