TYPEMAP
aglo_graph		T_PTROBJ_TOPOLOGY
aglo_state		T_PTROBJ_GRAPH
aglo_force		T_PTROBJ_FORCE
aglo_real		T_DOUBLE
aglo_boolean		T_BOOL
aglo_unsigned		T_UV
aglo_vertex		T_UV
aglo_signed		T_IV

INPUT
T_PTROBJ_TOPOLOGY
        if (!SvOK($arg)) croak(\"$var is undefined\");
	if (sv_derived_from($arg, \"Graph::Layout::Aesthetic::Topology\")) {
	    IV tmp = SvIV((SV*)SvRV($arg));
	    $var = INT2PTR($type, tmp);
	} else croak(\"$var is not of type Graph::Layout::Aesthetic::Topology\")
T_PTROBJ_GRAPH
        if (!SvOK($arg)) croak(\"$var is undefined\");
	if (sv_derived_from($arg, \"Graph::Layout::Aesthetic\")) {
	    IV tmp = SvIV((SV*)SvRV($arg));
	    $var = INT2PTR($type, tmp);
	} else croak(\"$var is not of type Graph::Layout::Aesthetic\")
T_PTROBJ_FORCE
        if (!SvOK($arg)) croak(\"$var is undefined\");
	if (sv_derived_from($arg, \"Graph::Layout::Aesthetic::Force\")) {
	    IV tmp = SvIV((SV*)SvRV($arg));
	    $var = INT2PTR($type, tmp);
	} else croak(\"$var is not of type Graph::Layout::Aesthetic::Force\")

OUTPUT
T_PTROBJ_TOPOLOGY
	sv_setref_pv($arg, \"Graph::Layout::Aesthetic::Topology\", (void*)$var);
T_PTROBJ_GRAPH
	sv_setref_pv($arg, \"Graph::Layout::Aesthetic\", (void*)$var);
T_PTROBJ_FORCE
	sv_setref_pv($arg, \"Graph::Layout::Aesthetic::Force\", (void*)$var);
