Graphviz 12.1.0~dev.20240716.0947
Loading...
Searching...
No Matches
csolve_VPSC.h
Go to the documentation of this file.
1
17#pragma once
18
19#include <stdbool.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24typedef struct Variable Variable;
25Variable* newVariable(int id, double desiredPos, double weight);
26void setVariableDesiredPos(Variable *, double desiredPos);
27double getVariablePos(const Variable*);
28
29typedef struct Constraint Constraint;
31
32typedef struct VPSC VPSC;
33void deleteVPSC(VPSC*);
38void remapInConstraints(Variable *u, Variable *v, double dgap);
39void remapOutConstraints(Variable *u, Variable *v, double dgap);
40
41#ifndef HAVE_POINTF_S
42typedef struct pointf_s { double x, y; } pointf;
43typedef struct { pointf LL, UR; } boxf;
44#endif
45int genXConstraints(int n, boxf[], Variable** vs, Constraint*** cs,
46 bool transitiveClosure);
47int genYConstraints(int n, boxf[], Variable** vs, Constraint*** cs);
48
49void satisfyVPSC(VPSC*);
50void solveVPSC(VPSC*);
51typedef struct IncVPSC IncVPSC;
52VPSC* newIncVPSC(int n, Variable* vs[], int m, Constraint* cs[]);
53#ifdef __cplusplus
54}
55#endif
#define right(i)
Definition closest.c:77
Variable * newVariable(int id, double desiredPos, double weight)
Bridge for C programs to access solve_VPSC (which is in C++)
double getVariablePos(const Variable *)
Constraint ** newConstraints(int m)
VPSC * newIncVPSC(int n, Variable *vs[], int m, Constraint *cs[])
void deleteConstraints(int m, Constraint **)
void setVariableDesiredPos(Variable *, double desiredPos)
Constraint * newConstraint(Variable *left, Variable *right, double gap)
int genXConstraints(int n, boxf[], Variable **vs, Constraint ***cs, bool transitiveClosure)
void remapInConstraints(Variable *u, Variable *v, double dgap)
void remapOutConstraints(Variable *u, Variable *v, double dgap)
void deleteConstraint(Constraint *)
int genYConstraints(int n, boxf[], Variable **vs, Constraint ***cs)
void deleteVariable(Variable *)
void satisfyVPSC(VPSC *)
struct pointf_s pointf
void solveVPSC(VPSC *)
void deleteVPSC(VPSC *)
#define left
Definition dthdr.h:12
A constraint determines a minimum or exact spacing required between two variables.
Definition constraint.h:25
double gap
Definition constraint.h:30
Constraint ** cs
Definition solve_VPSC.h:38
unsigned m
Definition solve_VPSC.h:39
const double weight
Definition variable.h:31
Definition geom.h:41
double x
Definition geom.h:29
double y
Definition geom.h:29