Bit Field for Behavior on Graphics
Macro Definitions
Detailed Description
- group a3d_graphicsbits
This bit field defines the behavior of a given entity, regarding its visibility, color, transparency, layer, line pattern and line width, given its position in the tree of entities. The inheritance works as follows:
Following the path of a leaf in the tree of entities:
If there are SonHerit flags, it is the lowest node in the tree which has this flag which defines the value, except if it has a FatherHerit flag.
If there are FatherHerit flags, it is the highest node in the tree which has this flag which defines the value.
If there is no flag, the current value is set, if any.
If the father has a SonHerit flag and the son has a SonHerit flag too, the value is the one of the son.
If the father has a SonHerit flag but not the son, the value is the one of the father.
If the father does not have a SonHerit flag, but the son has one, the value is the one of the son.
If the father does not have a SonHerit flag neither a FatherHerit flag, and the son does not have a SonHerit flag too, the value is the one of the son.
If none of those rules can match, the value is the current one.
This tree has no flag; each node defines its own color. This is the reference. Each following diagram is the same than this one, but with different flags on some nodes. The ‘S’ means that the node has a SonHerit flag, the ‘F’; that the node has a FatherHerit flag.
The second leaf does not have a SonHerit flag. It takes the pattern of its father.
The second leaf does not have a SonHerit flag, and also its father. So it takes its own value of pattern.
The second node has a FatherHerit flag. Its sons don’t have any flag. They take the pattern of their father.
The second node has a FatherHerit flag. The first leaf has a SonHerit flag. It takes its own pattern. But the second leaf doesn’t have a SonHerit flag, so it takes the pattern of its father.
The root node has a FatherHerit flag. The entire tree takes its pattern.
The root node has a FatherHerit flag. The second node too, so it takes the pattern of its father. The first leaf has a SonHerit flag, so it takes its own pattern. But the second leaf has no flag, so it takes the pattern of its father.
- Version
2.0
Macro Definition
-
kA3DGraphicsShow
Entity is shown.
-
kA3DGraphicsSonHeritShow
Show inheritance.
-
kA3DGraphicsFatherHeritShow
Show inheritance.
-
kA3DGraphicsSonHeritColor
Color / material inheritance.
-
kA3DGraphicsFatherHeritColor
Color / material inheritance.
-
kA3DGraphicsSonHeritLayer
Layer inheritance.
-
kA3DGraphicsFatherHeritLayer
Layer inheritance.
-
kA3DGraphicsSonHeritTransparency
Transparency inheritance.
-
kA3DGraphicsFatherHeritTransparency
Transparency inheritance.
-
kA3DGraphicsSonHeritLinePattern
Line pattern inheritance.
-
kA3DGraphicsFatherHeritLinePattern
Line pattern inheritance.
-
kA3DGraphicsSonHeritLineWidth
Line width inheritance.
-
kA3DGraphicsFatherHeritLineWidth
Line width inheritance.
-
kA3DGraphicsRemoved
Entity is removed.
As a result, the entity no longer appears in the tree.