-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCLASS_NOTES
56 lines (33 loc) · 2.62 KB
/
CLASS_NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
*** Data classes ***
-------------------------------------
MainPolymakeObject
The MainPolymakeObject class is the data source for the main document window. It contains the data of one polymake object (loaded from a file or from the database). Its window is controlled by the class PolymakeObjectController.
The class keeps the true polymake object in the variable _rootPerlNode. This points to the perl object given via libpolymake.
The class stores some meta information on the object:
- the name of the object (polymake shell equivalent: $p->name)
- its description (polymake shell equivalent: $p->description)
- its big object type (polymake shell equivalent: $p->type->generic_name)
- credits for external software used to compute the properties
- extensions used (currently not implemented, the polymake data files don't store this information)
- if the object has been loaded from the database, then we store the database infor tags id, contributor, date, collection, databsase
Its only methods are for loading from a file or from the database
-------------------------------------
PolymakeObjectPropertyTreeNode
A node in the property tree of a polymake object
The data at this node is kept in _value, the children (if any) in _children
Both _value and _children are set to nil by the initializers and only computed if actually needed in the view
The class is used both for inner nodes and for leaves. However, different variables are used in each case:
- for inner nodes, _polyObj points to the big polymake object (inside a PolymakeObjectWrapper) and _children points to the children. _values is set to "<no property>" to put something in the property view, so people don't think the comutation has failed.
- for leaves, _polyObj points to the polymake big Object (inside a PolymakeObjectWrapper) this property is defined in (so, its parent in the tree) and _value contains the value
For multiple properties we define the variables _index and _name.
Note the difference between _propertyName and _name: The former is the name of property as defined by "propery XY" (e.g. "LP"), the name is a named assigned by the user (e.g. "my linear program")
for convenience, some meta properties of the node are stored alongside:
name and type of the property, wheter it is a polymake big object, multiple, or a leaf in the tree
-------------------------------------
PropertyNodeValue
The actual value of a property
only properties at the leaves of the porperty tree contain information
all others are just set to "no value"
FIXME: column alignment does not work currently
-------------------------------------
DatabaseAccess