Graphviz 15.1.1~dev.20260628.0906
Loading...
Searching...
No Matches
csolve_VPSC.h
Go to the documentation of this file.
1
17#pragma once
18
19#include <stdbool.h>
20#include <stddef.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25typedef struct Variable Variable;
26Variable* newVariable(int id, double desiredPos, double weight);
27void setVariableDesiredPos(Variable *, double desiredPos);
28double getVariablePos(const Variable*);
29
30typedef struct Constraint Constraint;
32
33typedef struct VPSC VPSC;
34void deleteVPSC(VPSC*);
38void deleteConstraints(size_t m, Constraint **);
39void remapInConstraints(Variable *u, Variable *v, double dgap);
40void remapOutConstraints(Variable *u, Variable *v, double dgap);
41
42#ifndef HAVE_POINTF_S
43typedef struct pointf_s { double x, y; } pointf;
44typedef struct { pointf LL, UR; } boxf;
45#endif
46int genXConstraints(size_t n, boxf[], Variable **vs, Constraint ***cs,
47 bool transitiveClosure);
48int genYConstraints(size_t n, boxf[], Variable **vs, Constraint ***cs);
49
50void satisfyVPSC(VPSC*);
51void solveVPSC(VPSC*);
52typedef struct IncVPSC IncVPSC;
53VPSC* newIncVPSC(int n, Variable* vs[], int m, Constraint* cs[]);
54#ifdef __cplusplus
55}
56#endif
#define right(i)
Definition closest.c:74
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 setVariableDesiredPos(Variable *, double desiredPos)
Constraint * newConstraint(Variable *left, Variable *right, double gap)
void remapInConstraints(Variable *u, Variable *v, double dgap)
void remapOutConstraints(Variable *u, Variable *v, double dgap)
void deleteConstraint(Constraint *)
void deleteVariable(Variable *)
void satisfyVPSC(VPSC *)
struct pointf_s pointf
int genYConstraints(size_t n, boxf[], Variable **vs, Constraint ***cs)
void deleteConstraints(size_t m, Constraint **)
void solveVPSC(VPSC *)
void deleteVPSC(VPSC *)
int genXConstraints(size_t n, boxf[], Variable **vs, Constraint ***cs, bool transitiveClosure)
#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