Generic boundary

Name

Generic boundary -- 

Synopsis


#include <gfs.h>


#define     GFS_BOUNDARY_CLASS              (klass)
#define     GFS_BOUNDARY                    (obj)
#define     GFS_IS_BOUNDARY                 (obj)

struct      GfsBoundaryClass;
struct      GfsBoundary;
enum        GfsBoundaryVariableType;

GfsBoundary* gfs_boundary_new               (GfsBoundaryClass *klass,
                                             GfsBox *box,
                                             FttDirection d);
GfsBoundaryClass* gfs_boundary_class        (void);
void        gfs_boundary_send               (GfsBoundary *boundary);
void        gfs_boundary_receive            (GfsBoundary *boundary,
                                             FttTraverseFlags flags,
                                             gint max_depth);
void        gfs_boundary_synchronize        (GfsBoundary *boundary);
void        gfs_boundary_match              (GfsBoundary *boundary);

Description

Details

GFS_BOUNDARY_CLASS()

#define     GFS_BOUNDARY_CLASS(klass)

klass : 


GFS_BOUNDARY()

#define     GFS_BOUNDARY(obj)

obj : 


GFS_IS_BOUNDARY()

#define     GFS_IS_BOUNDARY(obj)

obj : 


struct GfsBoundaryClass

struct GfsBoundaryClass;


struct GfsBoundary

struct GfsBoundary {
  /*< private >*/
  GtsObject parent;

  FttCell * root;
  GfsBox * box;
  FttDirection d;
  guint depth;

  /*< public >*/
  GfsVariable * v;
  GfsBoundaryVariableType type;
};


enum GfsBoundaryVariableType

typedef enum {
  GFS_BOUNDARY_CENTER_VARIABLE,
  GFS_BOUNDARY_FACE_VARIABLE,
  GFS_BOUNDARY_MATCH_VARIABLE,
  GFS_BOUNDARY_VARIABLE_NUMBER
} GfsBoundaryVariableType;


gfs_boundary_new ()

GfsBoundary* gfs_boundary_new               (GfsBoundaryClass *klass,
                                             GfsBox *box,
                                             FttDirection d);

Creates a new boundary of type klass for box in direction d.

This function fails if box has already a boundary in direction d.

klass : a GfsBoundaryClass.
box : a GfsBox.
d : a direction.
Returns : a new GfsBoundary.


gfs_boundary_class ()

GfsBoundaryClass* gfs_boundary_class        (void);

Returns : 


gfs_boundary_send ()

void        gfs_boundary_send               (GfsBoundary *boundary);

Calls the @send() method of boundary.

boundary : a GfsBoundary.


gfs_boundary_receive ()

void        gfs_boundary_receive            (GfsBoundary *boundary,
                                             FttTraverseFlags flags,
                                             gint max_depth);

Calls the @receive() method of boundary.

boundary : a GfsBoundary.
flags : the traversal flags.
max_depth : the maximum depth of the traversal.


gfs_boundary_synchronize ()

void        gfs_boundary_synchronize        (GfsBoundary *boundary);

Calls the @synchronize() method of boundary.

boundary : a GfsBoundary.


gfs_boundary_match ()

void        gfs_boundary_match              (GfsBoundary *boundary);

Calls the @match() method of boundary.

boundary : a GfsBoundary.