Macros | |
#define | kA3DGraphicsFatherHeritColor 0x0010 |
#define | kA3DGraphicsFatherHeritLayer 0x0040 |
#define | kA3DGraphicsFatherHeritLinePattern 0x0400 |
#define | kA3DGraphicsFatherHeritLineWidth 0x1000 |
#define | kA3DGraphicsFatherHeritShow 0x0004 |
#define | kA3DGraphicsFatherHeritTransparency 0x0100 |
#define | kA3DGraphicsRemoved 0x2000 |
#define | kA3DGraphicsShow 0x0001 |
#define | kA3DGraphicsSonHeritColor 0x0008 |
#define | kA3DGraphicsSonHeritLayer 0x0020 |
#define | kA3DGraphicsSonHeritLinePattern 0x0200 |
#define | kA3DGraphicsSonHeritLineWidth 0x0800 |
#define | kA3DGraphicsSonHeritShow 0x0002 |
#define | kA3DGraphicsSonHeritTransparency 0x0080 |
Detailed Description
- Version
- 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.
Macro Definition Documentation
◆ kA3DGraphicsShow
#define kA3DGraphicsShow 0x0001 |
Entity is shown.
◆ kA3DGraphicsSonHeritShow
#define kA3DGraphicsSonHeritShow 0x0002 |
Show inheritance.
◆ kA3DGraphicsFatherHeritShow
#define kA3DGraphicsFatherHeritShow 0x0004 |
Show inheritance.
◆ kA3DGraphicsSonHeritColor
#define kA3DGraphicsSonHeritColor 0x0008 |
Color / material inheritance.
◆ kA3DGraphicsFatherHeritColor
#define kA3DGraphicsFatherHeritColor 0x0010 |
Color / material inheritance.
◆ kA3DGraphicsSonHeritLayer
#define kA3DGraphicsSonHeritLayer 0x0020 |
Layer inheritance.
◆ kA3DGraphicsFatherHeritLayer
#define kA3DGraphicsFatherHeritLayer 0x0040 |
Layer inheritance.
◆ kA3DGraphicsSonHeritTransparency
#define kA3DGraphicsSonHeritTransparency 0x0080 |
Transparency inheritance.
◆ kA3DGraphicsFatherHeritTransparency
#define kA3DGraphicsFatherHeritTransparency 0x0100 |
Transparency inheritance.
◆ kA3DGraphicsSonHeritLinePattern
#define kA3DGraphicsSonHeritLinePattern 0x0200 |
Line pattern inheritance.
◆ kA3DGraphicsFatherHeritLinePattern
#define kA3DGraphicsFatherHeritLinePattern 0x0400 |
Line pattern inheritance.
◆ kA3DGraphicsSonHeritLineWidth
#define kA3DGraphicsSonHeritLineWidth 0x0800 |
Line width inheritance.
◆ kA3DGraphicsFatherHeritLineWidth
#define kA3DGraphicsFatherHeritLineWidth 0x1000 |
Line width inheritance.
◆ kA3DGraphicsRemoved
#define kA3DGraphicsRemoved 0x2000 |
Entity is removed. As a result, the entity no longer appears in the tree.