Clipping Planes
Clipping planes affect only rendering of the entity in a 3D view. They do not affect geometry in anyway
Clipping planes allow cutting off some part of the current object.
Clipping plane is defined by the point where the plane passes through and
unitary vector of its normal. Semi space where the normal points to is called
positive side of the plane. When enabled, clipping plane cuts off all parts of
the object which are located on the negative side.
Every object has a fixed set of six clipping planes. A clipping
plane has to be enabled to have effect on the appearance of the
object. By default, all clipping planes are disabled and located
at the origin of the local frame with normal directed along the local x
axis.
In 3D Debugger clipping planes are managed by Clip Editor
dialog, which is available from the Current Object > Clipping Planes
menu option. In DG Kernel control clipping planes are managed by
IClipArray interface, which can be queried from
IEntity_DG,
and IClipPlane
interface, which can be be obtained using GetClipPlane method of the IClipArray.
Clipping plane can be rendered for debugging or other purposes. To
enable drawing, use IClipPlane.Show method.
Direction of normal vector of the clipping plane is controlled via
IAxis, queried from the correspondent
IClipPlane
Location of clipping plane can be controlled with
ILocation interface queried from
IClipPlane or previously obtained IAxis.
A clipping plane can be shared by different objects. This way it is
easy to synchronize modifications of the plane. When a clipping plane is
not shared it is called local clipping plane. Local clipping plane can
have effect only on its object and it belongs to the object. When
object is moved or exported, its local planes move with local frame of
the object. Local clipping plane can be converted to shared
clipping planes.
Shared clipping planes belong to the model. When a local clipping
plane is shared it is transferred to the model, so that it can be used by
several other entities of the model. Shared planes are global. This means
that when a object, which uses the plane, is moved, global position
and orientation of the plane remains unchanged.
An object can stop sharing a clipping plane, in which case a copy of
the plane is created and made local to the object.
All clipping planes and their sharing properties are stored with the
model, when saved.
|