hyb_compute.h
Go to the documentation of this file.
1/** @file hyp_compute.h Polyhedra calculus wrapper */
2
3#ifndef HYB_COMPUTE_H
4#define HYB_COMPUTE_H
5
6#include <string>
7#include "corefaudes.h"
8#include "hyb_parameter.h"
9
10
11namespace faudes{
12
13
14/**
15 * User data aware assignment
16 *
17 * @param src
18 * source
19 * @param dst
20 * destination
21 * @ingroup HybridPlugin
22 */
23void FAUDES_API PolyCopy(const Polyhedron& src, Polyhedron& dst);
24
25
26/**
27 * Recover faudes parameters from user data
28 *
29 * @param src
30 * source
31 * @ingroup HybridPlugin
32 */
33void FAUDES_API PolyFinalise(const Polyhedron& fpoly);
34
35/**
36 * Dump verticies
37 *
38 * @param src
39 * source
40 * @ingroup HybridPlugin
41 */
42void FAUDES_API PolyDWrite(const Polyhedron& fpoly);
43
44
45/**
46 * Intersection
47 *
48 * @param poly
49 * polyhedron
50 * @param res
51 * result gets intersected with poly
52 * @ingroup HybridPlugin
53 */
54void FAUDES_API PolyIntersection(const Polyhedron& poly, Polyhedron& res);
55
56/**
57 * Test emptyness
58 *
59 * @param poly
60 * polyhedron
61 * @return
62 * returns tru on empty polyhedra
63 * @ingroup HybridPlugin
64 */
65bool FAUDES_API PolyIsEmpty(const Polyhedron& poly);
66
67/**
68 * Inclusion
69 *
70 * @param poly
71 * one polyhedron
72 * @param other
73 * other polyhedron
74 * @return
75 true if poly <= other
76 * @ingroup HybridPlugin
77 */
78bool FAUDES_API PolyInclusion(const Polyhedron& poly, const Polyhedron& other);
79
80/**
81 * Apply time-elapse on specified polyhedron
82 *
83 * @param rate
84 * right hand side of diff.incl.
85 * @param poly
86 * state set
87 * @ingroup HybridPlugin
88 */
89void FAUDES_API PolyTimeElapse(const Polyhedron& rate, Polyhedron& poly);
90
91/**
92 * Apply reset relation A'x' + Ax <= B to specified polyhedron
93 *
94 * @param relation
95 * linear relation
96 * @param poly
97 * state set
98 * @ingroup HybridPlugin
99 */
100void FAUDES_API PolyLinearRelation(const LinearRelation& reset, Polyhedron& poly);
101
102
103
104
105}//namespace faudes
106
107#endif
#define FAUDES_API
void PolyFinalise(const Polyhedron &fpoly)
bool PolyInclusion(const Polyhedron &poly, const Polyhedron &other)
void PolyTimeElapse(const Polyhedron &rate, Polyhedron &poly)
void PolyDWrite(const Polyhedron &fpoly)
void PolyCopy(const Polyhedron &src, Polyhedron &dst)
void PolyIntersection(const Polyhedron &poly, Polyhedron &res)
bool PolyIsEmpty(const Polyhedron &poly)
void PolyLinearRelation(const LinearRelation &reset, Polyhedron &poly)

libFAUDES 2.34d --- 2026.03.11 --- c++ api documentaion by doxygen