Usually, a custom entity object consists of simple entities such as lines,
circles, arcs, etc. These simple entities are processed as a single whole. In
some tasks it is necessary to explode a custom entity into more simple entities.
For example, a window object can be exploded into a window sill, window frame,
double glass, and vent light. Each entity defines how to explode itself into
simple objects. To explode a custom entity into simple entities, you must override
the explode() function.
The explode() function hands over the array of smart pointers array for entity objects.
Simple entities are created using the createObject() function. This function returns the smart
pointer of the object. Each simple entity class has a smart pointer type. The type name contains
the name of the class and a 'Ptr' suffix. You must use the type of smart pointer that corresponds
to the simple entity class.
Additional objects in the array are realized using the append() function. To get a pointer of
an entity, it is necessary to call the get() function of the smart pointer type.
A simple entity uses the setPropertiesFrom() function to copy the properties from a specified entity
to this entity. You must use this function to set the default properties for a created entity.
For example, the smiley entity implements the following:
The explode() function should break the entity down into less complex entities. If the resulting
entities are not native entities, the function will return eExplodeAgain.