IN_EXCLUDE

Definition

IN_EXCLUDE [id]
{
  [Common flags]
  [NUM_FLAGS n;]
  [INIT_STATE s;]
  [IMAGE_n_ON|OFF id;]
  [ACCEPT idlist;]
  [REFUSE idlist;]
}
						

描述

Represents InExcludeData objects in a container, rendered as a drop area for objects.
Specify what kinds of nodes are accepted and/or refused for this field with ACCEPT and/or REFUSE .

Optionally the dropped objects get up to 32 icons next to them, each with an on/off state.

注意
The IDs used for the icons must be registered with RegisterIcon() .

Further specify what objects are accepted by listening for MSG_DESCRIPTION_CHECKDRAGANDDROP in NodeData::Message() and returning true of false depending on the DescriptionCheckDragAndDrop data:

SplineRailObject::Message(GeListNode *node, Int32 type, void *data)
{
...

	if

(type==

	MSG_DESCRIPTION_CHECKDRAGANDDROP

)
{

	DescriptionCheckDragAndDrop

*dcu =

	static_cast<


	DescriptionCheckDragAndDrop

*

	>

(data);

	switch

(dcu->id[0].id)
{

	case


	SPLINERAILOBJECT_SPLINE1

:

	case


	SPLINERAILOBJECT_SPLINE2

:

	case


	SPLINERAILOBJECT_SPLINE3

:

	case


	SPLINERAILOBJECT_SPLINE4

:
dcu->result = dcu->element->GetInfo() & OBJECT_SPLINE;

	return


	true

		;
		}
	}
}
						

Flags

NUM_FLAGS n; The number of icons, between 0 and 32 .
INIT_STATE s; The initial state of the icons: icon(n) == s & (1 << (n-1)) .
IMAGE_n_ON|OFF id; The icon IDs for each flag's icons.
ACCEPT idlist; The node types to accept, separated with semi-colons.
REFUSE idlist; The node types to refuse, separated with semi-colons.

范例

IN_EXCLUDE MY_INEXCLUDE_LIST
{
NUM_FLAGS 4;
INIT_STATE 8;

	// IMAGE_04 ON, the rest OFF

IMAGE_01_ON 1009313;
IMAGE_02_ON 1009314;
IMAGE_03_ON 1009315;
IMAGE_04_ON 1009316;
IMAGE_01_OFF 1009317;
IMAGE_02_OFF 1009318;
IMAGE_03_OFF 1009319;
IMAGE_04_OFF 1009320;
ACCEPT {

	Obase

; };
}
							

延伸阅读

GeListNode
Represents a C4DAtom that resides in a 4D list.
定义: c4d_baselist.h:1767
DescriptionCheckDragAndDrop
Message struct for MSG_DESCRIPTION_CHECKDRAGANDDROP.
定义: lib_description.h:869
SPLINERAILOBJECT_SPLINE3
@ SPLINERAILOBJECT_SPLINE3
定义: osplinerail.h:8
SPLINERAILOBJECT_SPLINE1
@ SPLINERAILOBJECT_SPLINE1
定义: osplinerail.h:6
Obase
#define Obase
Base object - BaseObject.
定义: ge_prepass.h:1021
Int32
maxon::Int32 Int32
定义: ge_sys_math.h:58
SPLINERAILOBJECT_SPLINE4
@ SPLINERAILOBJECT_SPLINE4
定义: osplinerail.h:9
SPLINERAILOBJECT_SPLINE2
@ SPLINERAILOBJECT_SPLINE2
定义: osplinerail.h:7
MSG_DESCRIPTION_CHECKDRAGANDDROP
#define MSG_DESCRIPTION_CHECKDRAGANDDROP
Asks the atom if a drag and drop onto for example a LINK description element or IN_EXCLUDE descriptio...
定义: c4d_baselist.h:395