Graph-Layout-Aesthetic
view release on metacpan or search on metacpan
lib/Graph/Layout/Aesthetic/Include.pm view on Meta::CPAN
# define PRIVATE ((struct private *) private)
#endif /* aesth.h */
GEN_INCLUDE
'include/aglo.h' => <<'GEN_INCLUDE',
#ifndef aglo_h
# define aglo_h 1
#define C_OBJECT(object, class, context) \
aglo_c_object(aTHX_ &(object), class, context)
extern void *aglo_c_object(pTHX_ SV **object, const char *class,
const char *context);
#define C_CHECK(object, class, context) \
aglo_c_check(aTHX_ object, class, context)
extern void *aglo_c_check(pTHX_ SV *object, const char *class,
const char *context);
typedef UV aglo_unsigned;
typedef IV aglo_signed;
typedef double aglo_real;
typedef enum aglo_boolean {
false=0,
true=!false
} aglo_boolean;
typedef aglo_unsigned aglo_vertex;
typedef struct aglo_edge_record {
aglo_vertex tail; /* edge: head -> tail */
aglo_boolean forward; /* not tail -> head */
struct aglo_edge_record *next;
} *aglo_edge_record;
typedef struct aglo_graph {
aglo_boolean done;
aglo_vertex vertices;
aglo_signed level_sequence; /* abused as a boolean currently,
later drop finish test and do a real
sequence number check */
aglo_vertex nr_levels;
aglo_signed *at_level;
aglo_vertex *level_sorted_vertex;
aglo_vertex **level2nodes;
void *private_data;
void *user_data;
aglo_edge_record edge_table[1]; /* must be last */
} *aglo_graph;
typedef aglo_real *aglo_point;
typedef const aglo_real *aglo_const_point;
typedef aglo_real *aglo_gradient;
typedef struct aglo_state {
aglo_graph graph; /* Topology */
SV *graph_sv; /* perl object reference for graph */
struct use_force *forces;
aglo_real temperature;
aglo_real end_temperature;
aglo_unsigned iterations;
aglo_unsigned dimensions; /* e.g. 2 means 2-dimensional space */
aglo_signed sequence; /* bumped when state changed */
aglo_signed centroid_sequence;
aglo_gradient gradient, force_gradient;
aglo_boolean paused;
aglo_point cached_centroid;
aglo_point point[1]; /* State vector, must be last */
} *aglo_state;
typedef void aglo_aesth_gradient_fx(pTHX_ aglo_state state,
aglo_gradient gradient, void *private);
typedef aglo_aesth_gradient_fx *aglo_aesth_gradient;
typedef void *aglo_aesth_setup_fx(pTHX_ SV *force_sv, SV *state_sv,
aglo_state state);
typedef aglo_aesth_setup_fx *aglo_aesth_setup;
typedef void aglo_aesth_cleanup_fx(pTHX_ aglo_state state,
void *private);
typedef aglo_aesth_cleanup_fx *aglo_aesth_cleanup;
typedef struct aglo_force {
aglo_aesth_gradient aesth_gradient;
aglo_aesth_setup aesth_setup;
aglo_aesth_cleanup aesth_cleanup;
void *private_data;
void *user_data;
} *aglo_force;
typedef struct use_force {
aglo_real weight;
aglo_force force;
SV *force_sv;
void *private;
struct use_force *next;
} *use_force;
extern void aglo_frame_coordinates(aglo_state state,
aglo_point min_frame,
aglo_point max_frame);
extern void aglo_iso_frame_coordinates(aglo_state state,
aglo_point min_frame,
aglo_point max_frame);
extern void aglo_normalize_state(aglo_state state);
extern void aglo_randomize(pTHX_ aglo_state state, aglo_real size);
#endif /* aglo_h */
GEN_INCLUDE
'include/at_centroid.h' => <<'GEN_INCLUDE',
/* attribute 'centroid' - centroid of current state */
/* $Id: at_centroid.h,v 1.1 1993/05/26 23:22:27 coleman Exp $ */
#ifndef at_centroid_h
# define at_centroid_h 1
# include "aglo.h"
aglo_const_point at_centroid(aglo_state state);
#endif /* at_centroid_h */
GEN_INCLUDE
'include/at_node_level.h' => <<'GEN_INCLUDE',
/* attribute 'node_level' - level of node (from root) */
( run in 0.513 second using v1.01-cache-2.11-cpan-71847e10f99 )