... | ... | @@ -15,7 +15,7 @@ This information is modeled by various Item objects that are contained within an |
|
|
|
|
|
In addition the attribute system provides a mechanism for associating the information contained within an attribute to parts of the geometric model (as well as auxiliary geometry contained in the geometric model). An association is conceptually different from the Model Entity Item. In represents a bi-directional relationship between the attribute and the model entity. For example, I can model an operation that creates an model edge between 2 vertices by an attribute that has 2 model entity items (one representing each vertex). This is not an association in that the model vertices don't know that they are being referred to by the items. Now consider the case of an attribute that represents a wall boundary condition for a CFD problem. The attribute may not contain any items at all - its mere existence represents the concept of the wall BC. When it is associated with a model face, the face can now answer the question "Am I a wall?". So an association effects both the attribute and model entity. You can ask ask attribute what model entities are you associated with and you can ask the model entity, what attributes do you have?
|
|
|
|
|
|
When the time came to be represent the association process, it was decided to use the same mechanism used to represent a Model Entity Item within an attribute. It initially made sense; however, it introduced a conceptual issue. In the case of an association, it seems best to think of it as a set of model entities. It doesn't make sense to add a model entity twice (going back to the Wall BC example, adding the face to the attribute does not gain you anything). However, you might think of a situation where you might want to have the same model entity added to an item in an attribute. This is why the Model Entity Item (like the other items) have a vector like interface.
|
|
|
When the time came to be represent the association process, it was decided to use the same mechanism used to represent a Model Entity Item within an attribute. It initially made sense; however, it introduced a conceptual issue. In the case of an association, it seems best to think of it as a set of model entities. It doesn't make sense to add a model entity twice (going back to the Wall BC example, adding the face to the attribute a second time does not gain you anything). However, you might think of a situation where you might want to have the same model entity added to an item in an attribute. This is why the Model Entity Item (like the other items) have a vector like interface.
|
|
|
|
|
|
However, the Model Entity Item (in order to be used for modeling associations) behaves differently from all other Items and can cause problems. When you append a model entity to this item it first looks to see if there are any available "slots" in the vector to store it before it tries to append.
|
|
|
|
... | ... | |