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 
11 namespace faudes{
12 
13 
14 /**
15  * User data aware assignment
16  *
17  * @param src
18  * source
19  * @param dst
20  * destination
21  * @ingroup HybridPlugin
22  */
23 void 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  */
33 void FAUDES_API PolyFinalise(const Polyhedron& fpoly);
34 
35 /**
36  * Dump verticies
37  *
38  * @param src
39  * source
40  * @ingroup HybridPlugin
41  */
42 void 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  */
54 void 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  */
65 bool 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  */
78 bool 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  */
89 void 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  */
100 void FAUDES_API PolyLinearRelation(const LinearRelation& reset, Polyhedron& poly);
101 
102 
103 
104 
105 }//namespace faudes
106 
107 #endif
#define FAUDES_API
Interface export/import symbols: windows.
Definition: cfl_platform.h:81
Includes all libFAUDES headers, no plugins.
void PolyFinalise(const Polyhedron &fpoly)
convert PPL polyhedron back to faudes data structures; this is required if we manipulate a polyhedron...
Definition: hyb_compute.cpp:53
bool PolyInclusion(const Polyhedron &poly, const Polyhedron &other)
inclusion
void PolyTimeElapse(const Polyhedron &rate, Polyhedron &poly)
time elapse
void PolyDWrite(const Polyhedron &fpoly)
poly dump
void PolyCopy(const Polyhedron &src, Polyhedron &dst)
copy method
void PolyIntersection(const Polyhedron &poly, Polyhedron &res)
intersection
bool PolyIsEmpty(const Polyhedron &poly)
test emptyness
void PolyLinearRelation(const LinearRelation &reset, Polyhedron &poly)
apply reset relation A'x' + Ax <= B
Parameter types for linear hybrid automata.
libFAUDES resides within the namespace faudes.

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen