<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="jit.gl.physdraw" module="jit" category="Jitter OpenGL">
	<digest>
		A physics opengl debug drawer
	</digest>
	<description>
		The <o>jit.gl.physdraw</o> object performs debug drawing of the objects in a physics simulation, including <o>jit.phys.body</o>, <o>jit.phys.multiple</o>, and constraint objects such as <o>jit.phys.hinge</o> and <o>jit.phys.6dof</o>. A valid opengl context and a valid <o>jit.phys.world</o> context are required for debug drawing of the physics world.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			Jitter
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				messages in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--OB3D-->
	<OB3D />
	<!--MESSAGES-->
	<jittermethodlist>
		<jittermethod name="bang" />
		<jittermethod name="anim_grow" />
		<jittermethod name="anim_move" />
		<jittermethod name="anim_reset" />
		<jittermethod name="anim_turn" />
		<jittermethod name="draw" />
		<jittermethod name="drawimmediate" />
		<jittermethod name="drawraw" />
		<jittermethod name="exportattrs" />
		<jittermethod name="exportsummary" />
		<jittermethod name="getattributes" />
		<jittermethod name="getstate" />
		<jittermethod name="importattrs" />
		<jittermethod name="summary" />
		<jittermethod name="update_node" />
	</jittermethodlist>
	<!--ATTRIBUTES-->
	<attributelist>
		<attribute name="constraintsize" get="1" set="1" type="float" size="1">
			<digest>
				Set constraint size
			</digest>
			<description>
				Set the size for drawing contraints in the physics world (default = 2).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Constraint Size" />
			</attributelist>
		</attribute>
		<attribute name="contactsize" get="1" set="1" type="float" size="1">
			<digest>
				Set contact size
			</digest>
			<description>
				Set the size for drawing contact points and vectors in the physics world (default = 6).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Contact Size" />
			</attributelist>
		</attribute>
		<attribute name="draw_aabb" get="1" set="1" type="int" size="1">
			<digest>
				Enable aabb drawing
			</digest>
			<description>
				Enable drawing of the physics object's aabb (axis-aligned bounding box) (default = 0).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw AABB" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="draw_bodies" get="1" set="1" type="int" size="1">
			<digest>
				Enable rigid body drawing
			</digest>
			<description>
				Enable rigid body drawing (default = 1).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw Bodies" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="draw_worldbox" get="1" set="1" type="int" size="1">
			<digest>
				Enable worldbox drawing
			</digest>
			<description>
				Enable worldbox drawing (default = 1).
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="Draw Worldbox" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="rgb" get="1" set="1" type="int" size="1">
			<digest>
				Drawer color flag
			</digest>
			<description>
				Drawer color flag (default = 1). When the flag is set, drawer uses RGB colors. Otherwise, the <at>color</at> attribute determines the color used.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="RGB" />
				<attribute name="style" get="1" set="1" type="symbol" size="1" value="onoff" />
			</attributelist>
		</attribute>
		<attribute name="worldname" get="1" set="1" type="symbol" size="1">
			<digest>
				Name of the context the drawer is bound to
			</digest>
			<description>
				The name of a <o>jit.phys.world</o> context this drawer is bound to.
			</description>
			<attributelist>
				<attribute name="label" get="1" set="1" type="symbol" size="1" value="World Name" />
			</attributelist>
		</attribute>
	</attributelist>
	<jitterattributelist>
		<jitterattribute name="anchor" />
		<jitterattribute name="anim" />
		<jitterattribute name="animmode" />
		<jitterattribute name="antialias" />
		<jitterattribute name="aux_color" />
		<jitterattribute name="axes" />
		<jitterattribute name="blend" />
		<jitterattribute name="blend_enable" />
		<jitterattribute name="blend_mode" />
		<jitterattribute name="color" />
		<jitterattribute name="cull_face" />
		<jitterattribute name="depth_clear" />
		<jitterattribute name="depth_enable" />
		<jitterattribute name="depth_write" />
		<jitterattribute name="dest_dim" />
		<jitterattribute name="drawto" />
		<jitterattribute name="enable" />
		<jitterattribute name="filterclass" />
		<jitterattribute name="gl_color" />
		<jitterattribute name="inherit_all" />
		<jitterattribute name="inherit_color" />
		<jitterattribute name="inherit_depth" />
		<jitterattribute name="inherit_fog" />
		<jitterattribute name="inherit_material" />
		<jitterattribute name="inherit_poly" />
		<jitterattribute name="inherit_texture" />
		<jitterattribute name="inherit_transform" />
		<jitterattribute name="layer" />
		<jitterattribute name="line_width" />
		<jitterattribute name="name" />
		<jitterattribute name="point_size" />
		<jitterattribute name="poly_mode" />
		<jitterattribute name="position" />
		<jitterattribute name="smooth_shading" />
	</jitterattributelist>
	<!--EXAMPLE-->
	<examplelist>
		<example img="jit.gl.physdraw.png" caption="physics opengl debug drawer" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="jit.phys.body" />
		<seealso name="jit.phys.world" />
		<seealso name="jit.phys.multiple" />
	</seealsolist>
	<discussion>
		This object requires one argument: the name of a drawing context. A named drawing context is a named instance of a <o>jit.window</o>, <o>jit.pwindow</o>, or <o>jit.matrix</o> object that has an instance of the <o>jit.gl.render</o> object associated with it. Additionally it can reference the name of a <o>jit.gl.node</o> sub-context. This value may also be set via the OB3D <at>drawto</at> attribute. If no argument is present, the object is implicitly added to the first valid drawing context or sub-context found in the current patch or by searching up the patcher hierarchy.
	</discussion>
</c74object>
