formZ SDK | 4.0 Call Back Reference | Object Type

# fz_otyp_flags_enum

Description

Bit flags used by the flags argument of the fz_otyp_cbak_info function. These bits can be set to tell formZ more about the object type. For example :

enum fz_otyp_flags_enum {

FZ_OTYP_NON_UNI_SCALE,

FZ_OTYP_NO_RENDER,

FZ_OTYP_NO_SYS_FLIP,

FZ_OTYP_ALWAYS_SMOOTH,

FZ_OTYP_ALWAYS_FACET,

FZ_OTYP_HANDLE_RVRS,

FZ_OTYP_EXPL_PER_PART,

FZ_OTYP_NESTED_CURVE_CNTRL,

FZ_OTYP_FACET_USES_REFN,

FZ_OTYP_EDIT_DELAY_UPDATE,

FZ_OTYP_PARM_REGEN_FLIP };

Members

FZ_OTYP_NON_UNI_SCALE

When this bit is set, the object can be scaled non uniformly without loosing the parameters data. If this bit is not set, the controls of the object will be dropped if non uniform scaling occurs.

FZ_OTYP_NO_RENDER

When this bit is set, the object will not be rendered in high end rendering modes, such as RenderZone. They will only be rendered in the interactive rendering modes. If the bit is not set, the object will always be rendered.

FZ_OTYP_NO_SYS_FLIP

When this bit is set, the object cannot be transformed so that a coordinate changes from left hand to right hand without dropping the object to a plain object. Such a transformation occurs, for example, when mirroring about a plane of when scaling with one of the scale factors being negative and the other ones positive. If this bit is not set, such transformations are allowed and the object controls are not dropped.

FZ_OTYP_ALWAYS_SMOOTH

When this bit is set, the object is always a smooth object. In other words, it always has an ACIS representation. It is not allowed to have both, FZ_OTYP_ALWAYS_SMOOTH and FZ_OTYP_ALWAYS_FACET set. However if none are set, the object may be smooth or facetted.

FZ_OTYP_ALWAYS_FACET

When this bit is set, the object is always a facetted object. In other words, it never has an ACIS representation. It is not allowed to have both, FZ_OTYP_ALWAYS_SMOOTH and FZ_OTYP_ALWAYS_FACET set. However if none are set, the object may be smooth or facetted.

FZ_OTYP_HANDLE_RVRS

When this bit is set, the parametric representation of the object cannot be reversed in direction. In this case, formZ will reverse the object facets after a reverse operation occurred. If this bit is not set, it is the responsibility of the object type to reverse its parametric data. This is usually done in the fz_otyp_cbak_rvrs callback function.

FZ_OTYP_EXPL_PER_PART

When this bit is set, the explode operation may yield multiple volumes for this object. When this bit is not set, the object is always represented by only one volume.

FZ_OTYP_NESTED_CURVE_CNTRL

When this bit is set, the object is assumed to be an open or closed curve, and lends itself as the source for a number of other derivative objects, such as sweep, helix or revovled objects.

FZ_OTYP_FACET_USES_REFN

When this bit is set, the object, although a facetted object, uses the refinement (display resolution) attribute to determine the density of the facetting.

FZ_OTYP_EDIT_DELAY_UPDATE

When this bit is set, and formZ builds the automatic edit dialog (i.e. the extension does not implement the callback, an "Update" button is added to the dialog. This allows the user to defer the regeneration of the form after changing parameters until the button is pressed. This is useful if the regeneration takes a fzrt_int time.

FZ_OTYP_PARM_REGEN_FLIP

When this bit is set and a coordinate changes from left hand to right hand without dropping the object to a plain object, the function will be called. This is useful when the reversal of the coordinate causes a chnage that requires major changes to the topology/structure of the parametric definition. Note that the fz_otyp_cbak_rvrs function will still be called in advance

Availability

5.0.0.0

Plugin Example

void my_otype_info_func(fzrt_UUID_td uuid, fzrt_int *size, fzrt_int *flags) { ...
flags = 0; FZ_SETBIT(*flags,FZ_OTYP_NON_UNI_SCALE); FZ_SETBIT(*flags,FZ_OTYP_ALWAYS_FACET); }

Defined in

fz_otyp_api.h