Bit Field for Behavior on Graphics
2.0
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.
To determine the value of a son regarding his father, the following rules can be applied:
- 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.
Following are different configurations that can be found:
- | 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.
NB1:The**SonHerit**flag overrides the**FatherHerit**flag.
Index
Preprocessor Definitions
kA3DGraphicsShowkA3DGraphicsSonHeritShowkA3DGraphicsFatherHeritShowkA3DGraphicsSonHeritColorkA3DGraphicsFatherHeritColorkA3DGraphicsSonHeritLayerkA3DGraphicsFatherHeritLayerkA3DGraphicsSonHeritTransparencykA3DGraphicsFatherHeritTransparencykA3DGraphicsSonHeritLinePatternkA3DGraphicsFatherHeritLinePatternkA3DGraphicsSonHeritLineWidthkA3DGraphicsFatherHeritLineWidthkA3DGraphicsRemoved
Preprocessor Definitions
-
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.