Open CASCADE Technology
6.5.4
|
#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_Graphic3d_Group.hxx>
#include <Graphic3d_CGroup.hxx>
#include <Handle_Graphic3d_GraphicDriver.hxx>
#include <Graphic3d_CBitFields4.hxx>
#include <Standard_Address.hxx>
#include <Graphic3d_CBounds.hxx>
#include <Graphic3d_ListOfPArray.hxx>
#include <Graphic3d_ListIteratorOfListOfPArray.hxx>
#include <Handle_TColStd_HArray1OfByte.hxx>
#include <Standard_Integer.hxx>
#include <MMgt_TShared.hxx>
#include <Graphic3d_Structure.hxx>
#include <Handle_Graphic3d_Structure.hxx>
#include <Standard_Boolean.hxx>
#include <Handle_Graphic3d_AspectLine3d.hxx>
#include <Handle_Graphic3d_AspectFillArea3d.hxx>
#include <Handle_Graphic3d_AspectText3d.hxx>
#include <Handle_Graphic3d_AspectMarker3d.hxx>
#include <Standard_Real.hxx>
#include <Graphic3d_TypeOfPolygon.hxx>
#include <Standard_CString.hxx>
#include <Quantity_PlaneAngle.hxx>
#include <Graphic3d_TextPath.hxx>
#include <Graphic3d_HorizontalTextAlignment.hxx>
#include <Graphic3d_VerticalTextAlignment.hxx>
#include <Handle_Graphic3d_ArrayOfPrimitives.hxx>
#include <Graphic3d_GroupAspect.hxx>
Data Structures | |
class | Graphic3d_Group |
This class allows the definition of groups of primitives inside of graphic objects (presentations). A group contains the primitives and attributes for which the range is limited to this group. The primitives of a group can be globally suppressed. There are two main group usage models: 1) Non-modifiable, or unbounded, group ('black box'). Developers can repeat a sequence of SetPrimitivesAspect() with AddPrimitiveArray() methods arbitrary number of times to define arbitrary number of primitive "blocks" each having individual apect values. Any modification of such a group is forbidden, as aspects and primitives are mixed in memory without any high-level logical structure, and any modification is very likely to result in corruption of the group internal data. It is necessary to recreate such a group as a whole when some attribute should be changed. (for example, in terms of AIS it is necessary to re-Compute() the whole presentation each time). 2) Bounded group. Developers should specify the necessary group aspects with help of SetGroupPrimitivesAspect() and then add primitives to the group. Such a group have simplified organization in memory (a single block of attributes followed by a block of primitives) and therefore it can be modified, if it is necessary to change parameters of some aspect that has already been set, using methods: IsGroupPrimitivesAspectSet() to detect which aspect was set for primitives; GroupPrimitivesAspect() to read current aspect values and SetGroupPrimitivesAspect() to set new values. Developers are strongly recommended to take all the above into account when filling Graphic3d_Group with aspects and primitives and choose the group usage model beforehand out of application needs. More... |