AmitkSpace

AmitkSpace

Synopsis

#define             AMITK_SPACE_AXES                    (space)
#define             AMITK_SPACE_OFFSET                  (space)
#define             AMITK_UNDO_LEVEL
struct              AmitkSpace;
struct              AmitkSpaceClass;
AmitkSpace *        amitk_space_new                     (void);
void                amitk_space_write_xml               (xmlNodePtr node,
                                                         gchar *descriptor,
                                                         AmitkSpace *space);
AmitkSpace *        amitk_space_read_xml                (xmlNodePtr nodes,
                                                         gchar *descriptor,
                                                         gchar **perror_buf);
void                amitk_space_set_offset              (AmitkSpace *space,
                                                         const AmitkPoint new_offset);
void                amitk_space_shift_offset            (AmitkSpace *space,
                                                         const AmitkPoint shift);
void                amitk_space_set_axes                (AmitkSpace *space,
                                                         const AmitkAxes new_axes,
                                                         const AmitkPoint center_of_rotation);
void                amitk_space_transform               (AmitkSpace *space,
                                                         const AmitkSpace *transform_space);
void                amitk_space_transform_axes          (AmitkSpace *space,
                                                         const AmitkAxes transform_axes,
                                                         AmitkPoint center_of_rotation);
void                amitk_space_scale                   (AmitkSpace *space,
                                                         AmitkPoint ref_point,
                                                         AmitkPoint scaling);
AmitkPoint          amitk_space_get_axis                (const AmitkSpace *space,
                                                         const AmitkAxis which_axis);
void                amitk_space_get_enclosing_corners   (const AmitkSpace *in_space,
                                                         const AmitkCorners in_corners,
                                                         const AmitkSpace *out_space,
                                                         AmitkCorners out_corners);
AmitkSpace *        amitk_space_copy                    (const AmitkSpace *space);
void                amitk_space_copy_in_place           (AmitkSpace *dest_space,
                                                         const AmitkSpace *src_space);
gboolean            amitk_space_equal                   (const AmitkSpace *space1,
                                                         const AmitkSpace *space2);
void                amitk_space_invert_axis             (AmitkSpace *space,
                                                         const AmitkAxis which_axis,
                                                         const AmitkPoint center_of_inversion);
void                amitk_space_rotate_on_vector        (AmitkSpace *space,
                                                         const AmitkPoint vector,
                                                         const amide_real_t theta,
                                                         const AmitkPoint center_of_rotation);
AmitkSpace *        amitk_space_get_view_space          (const AmitkView view,
                                                         const AmitkLayout layout);
void                amitk_space_set_view_space          (AmitkSpace *set_space,
                                                         const AmitkView view,
                                                         const AmitkLayout layout);
#define             amitk_space_s2s                     (in_space,
                                                         out_space,
                                                         in)
#define             amitk_space_s2s_dim                 (in_space,
                                                         out_space,
                                                         in)
void                amitk_space_print                   (AmitkSpace *space,
                                                         gchar *message);

Description

Details

AMITK_SPACE_AXES()

#define AMITK_SPACE_AXES(space)         (AMITK_SPACE(space)->axes)


AMITK_SPACE_OFFSET()

#define AMITK_SPACE_OFFSET(space)       (AMITK_SPACE(space)->offset)


AMITK_UNDO_LEVEL

#define AMITK_UNDO_LEVEL 10


struct AmitkSpace

struct AmitkSpace {
  GObject parent;


  /* private info */
  AmitkPoint offset; /* with respect to the base coordinate frame */
  AmitkAxes axes;
};


struct AmitkSpaceClass

struct AmitkSpaceClass {
  GObjectClass parent_class;

  void (* space_shift)          (AmitkSpace * space,
				 AmitkPoint * shift);
  void (* space_rotate)         (AmitkSpace * space,
				 AmitkPoint * vector,
				 amide_real_t theta,
				 AmitkPoint * center_of_rotation);
  void (* space_invert)         (AmitkSpace * space,
			         AmitkAxis which_axis,
				 AmitkPoint * center_of_inversion);
  void (* space_transform)      (AmitkSpace * space,
				 AmitkSpace * transform_space);
  void (* space_transform_axes) (AmitkSpace * space,
				 AmitkAxes    transform_axes,
				 AmitkPoint * center_of_rotation);
  void (* space_scale)          (AmitkSpace * space,
				 AmitkPoint * ref_point,
				 AmitkPoint * scaling);
  void (* space_changed)        (AmitkSpace * space);
};


amitk_space_new ()

AmitkSpace *        amitk_space_new                     (void);


amitk_space_write_xml ()

void                amitk_space_write_xml               (xmlNodePtr node,
                                                         gchar *descriptor,
                                                         AmitkSpace *space);


amitk_space_read_xml ()

AmitkSpace *        amitk_space_read_xml                (xmlNodePtr nodes,
                                                         gchar *descriptor,
                                                         gchar **perror_buf);


amitk_space_set_offset ()

void                amitk_space_set_offset              (AmitkSpace *space,
                                                         const AmitkPoint new_offset);


amitk_space_shift_offset ()

void                amitk_space_shift_offset            (AmitkSpace *space,
                                                         const AmitkPoint shift);


amitk_space_set_axes ()

void                amitk_space_set_axes                (AmitkSpace *space,
                                                         const AmitkAxes new_axes,
                                                         const AmitkPoint center_of_rotation);


amitk_space_transform ()

void                amitk_space_transform               (AmitkSpace *space,
                                                         const AmitkSpace *transform_space);


amitk_space_transform_axes ()

void                amitk_space_transform_axes          (AmitkSpace *space,
                                                         const AmitkAxes transform_axes,
                                                         AmitkPoint center_of_rotation);


amitk_space_scale ()

void                amitk_space_scale                   (AmitkSpace *space,
                                                         AmitkPoint ref_point,
                                                         AmitkPoint scaling);


amitk_space_get_axis ()

AmitkPoint          amitk_space_get_axis                (const AmitkSpace *space,
                                                         const AmitkAxis which_axis);


amitk_space_get_enclosing_corners ()

void                amitk_space_get_enclosing_corners   (const AmitkSpace *in_space,
                                                         const AmitkCorners in_corners,
                                                         const AmitkSpace *out_space,
                                                         AmitkCorners out_corners);


amitk_space_copy ()

AmitkSpace *        amitk_space_copy                    (const AmitkSpace *space);


amitk_space_copy_in_place ()

void                amitk_space_copy_in_place           (AmitkSpace *dest_space,
                                                         const AmitkSpace *src_space);


amitk_space_equal ()

gboolean            amitk_space_equal                   (const AmitkSpace *space1,
                                                         const AmitkSpace *space2);


amitk_space_invert_axis ()

void                amitk_space_invert_axis             (AmitkSpace *space,
                                                         const AmitkAxis which_axis,
                                                         const AmitkPoint center_of_inversion);


amitk_space_rotate_on_vector ()

void                amitk_space_rotate_on_vector        (AmitkSpace *space,
                                                         const AmitkPoint vector,
                                                         const amide_real_t theta,
                                                         const AmitkPoint center_of_rotation);


amitk_space_get_view_space ()

AmitkSpace *        amitk_space_get_view_space          (const AmitkView view,
                                                         const AmitkLayout layout);


amitk_space_set_view_space ()

void                amitk_space_set_view_space          (AmitkSpace *set_space,
                                                         const AmitkView view,
                                                         const AmitkLayout layout);


amitk_space_s2s()

#define amitk_space_s2s(in_space, out_space, in) (amitk_space_b2s((out_space), amitk_space_s2b((in_space), (in))))


amitk_space_s2s_dim()

#define amitk_space_s2s_dim(in_space, out_space, in) (amitk_space_b2s_dim((out_space), amitk_space_s2b_dim((in_space), (in))))


amitk_space_print ()

void                amitk_space_print                   (AmitkSpace *space,
                                                         gchar *message);