Drop It! v0.3
(c) 2005 Kuroyume's DevelopmentZone

Requires Cinema 4D version 6.3 and later, Windows or MacOS.

A C.O.F.F.E.E. plugin replicating the "Drop to floor" feature of other 3D
applications as well as adding the feature to 'drop to target' and 'drop to
value'.

When the plugin is selected from the Plugins menu, an asynchronous dialog
appears with two Text entry boxes and the "Drop it!" button.  This dialog can
be pinned to the GUI and can be restored if already opened when a layout is
saved.

Both "Drag'n'Drop Object" and "Drag'n'Drop Target" object types can be any of
polygonal, primitive, procedural, or hierarchical.

When the target is a hierarchy, you can restrict the target objects to be used
in the calculation by using only a subset of the hierarchy.  You can further
restrict by setting elements' Editor Modes to OFF (top dot to red).  Although
the children are also invisible, you should turn them OFF individually as well.
Another quick way is to move sections of the hierarchy under the considered set
temporarily out of the hierarchy and move them back when done.

After you have performed a "Drop it!" operation, it can be undone using Cinema's
built-in undo capabilities.

Drag'n'Drop:

	There are two ways to get your objects into the Dialog:
	
		1. Type in the object's case-sensitive name into either Text entry box.
		2. Click on the object in the Object Manager, drag over one of the Text
			entry boxes (the mouse pointer will change to a Point-Hand type for a
			valid drop), and release.  The name will appear in the Text entry box.

Drop To Floor/Value:

	This is the simplest and fastest way to place your objects on the ground.
	The ground in this instance is the X-Z plane where Y = 0.0.  If you would
	like to change the 'ground' plane, as it	were, enter a numeric value or
	expression into the "Drag'n'Drop Target" Text entry box.  Only numbers and
	valid Cinema 4D numerical expressions can be used. Invalid entries will
	display an error message.  An empty target entry will automatically drop to
	floor, Y = 0.0.

Drop To Target:

	IMPORTANT: Be advised that you should save your project prior to commencing
	as there is a slight chance that this operation will crash Cinema 4D.  I
	cannot take responsibility for lost work in the event that this occurs!

	This added feature allows you to drop one object onto a target object.
	Because of the complexity of the calculations, expect longer and longer wait
	times with higher and higher polygon counts - something to consider when
	using procedural and primitive objects.  Much has been done to reduce the
	computational time by using processes of elimination (for the technically
	inclined: bounding rectangles are computed and compared for the overall
	object and target, each of their children, then polygon-by-polygon).

	Because of the complexity, you will also note a lack of precision in the drop
	placement of objects and targets with complex local minima and maxima.  In
	the future, I hope to optimize the current algorithms enough to allow a more
	precise drop placement.

History:
	February 20, 2005:
		-	Will retain last Drag'n'Drop Object and Target after closing and reopening "Drop It!" dialog.

		-	Works with InstanceObjects and Null Object hierarchies.

	January 4, 2005:
		-	Updated plugin to properly handle 'Make Editable' in Cinema 4D R9 thus
			allowing objects grouped under a Null Object to be processed.

Bugs and queries can be sent to:

	Robert Templeton
	Renderosity:	kuroyume0161
	Support Forum:	http://www.kuroyumes-developmentzone.com/phpBB2/index.php

Thank you very much and enjoy the "Drop It!" plugin!