<!-- Converted by db4-upgrade version 1.0 -->

<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="arced">
  
  <refmeta>
    <refentrytitle>ARCED</refentrytitle>
    <manvolnum>nged</manvolnum>
    <refmiscinfo class="source">BRL-CAD</refmiscinfo>
    <refmiscinfo class="manual">BRL-CAD User Commands</refmiscinfo>
  </refmeta>
  
  <refnamediv xml:id="name">
    <refname>arced</refname>
    <refpurpose>Provides a means for directly editing transformation matrices of Boolean tree leaves.
    </refpurpose>
  </refnamediv>
  
  <!-- body begins here -->
  <refsynopsisdiv xml:id="synopsis">
    <cmdsynopsis sepchar=" ">
      <command>arced</command>    
      <arg choice="req" rep="norepeat"> <replaceable>comb/memb</replaceable></arg>
      <arg choice="req" rep="norepeat"> <replaceable>anim_commmand</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  
  <refsection xml:id="description"><info><title>DESCRIPTION</title></info>
    
    <para>
      The objects in a BRL-CAD model are stored as Boolean combinations of primitive
      shapes and/or other combinations. These combinations are stored as Boolean 
      trees, with each leaf of the tree including a corresponding transformation 
      matrix. The <command>arced</command> command provides a means for directly 
      editing these matrices. The first argument to the <command>arced</command> 
      command must identify the combination and which member's matrix is to be 
      edited. The <emphasis>comb/memb</emphasis> argument indicates that member
      <emphasis>memb</emphasis> of combination <emphasis>comb</emphasis> has the 
      matrix to be edited. The remainder of the <command>arced</command>command 
      line consists of an animation command to be applied to that matrix. The
      available animation commands are:
      
      <variablelist>
	<varlistentry>
	  <term><command>matrix rarc &lt;xlate|rot&gt; matrix elements</command></term>
	  <listitem>
	    <para>
	      Replace the members matrix with the given matrix.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><command>matrix lmul &lt;xlate|rot&gt; matrix elements</command></term>
	  <listitem>
	    <para>
	      Left multiply the members matrix with the given matrix.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry>
	  <term><command>matrix rmul &lt;xlate|rot&gt; matrix elements</command></term>
	  <listitem>
	    <para>
	      Right multiply the members matrix with the given matrix.
	    </para>
	  </listitem>
	</varlistentry>
      </variablelist>
    </para>
  </refsection>

  <refsection xml:id="examples"><info><title>EXAMPLES</title></info>
    
    <example><info><title>Rotate body/head 45 degrees about Z axis</title></info>
      
      <para>
	<prompt>mged&gt;</prompt> <userinput>arced body/head matrix rot 0 0 45</userinput>
      </para>
      <para>
	Rotates member head (in combination body) about the <emphasis>z</emphasis> axis 
	through a 45° angle. By default, the <command>matrix</command> commands expect a 
	list of 16 matrix elements to define a matrix. The <emphasis>xlate</emphasis> option 
	may be used along with three translation distances in the <emphasis>x</emphasis>,
	<emphasis>y</emphasis>, and <emphasis>z</emphasis> directions (in mm) as a shorthand 
	notation for a matrix that is pure translation. Similarly, the <emphasis>rot</emphasis> 
	option along with rotation angles (degrees) about the <emphasis>x</emphasis>, 
	<emphasis>y</emphasis>, and <emphasis>z</emphasis> axes may be used 
	as shorthand for a matrix that is pure rotation.   
      </para>
    </example>
  </refsection>

  <info><corpauthor>BRL-CAD Team</corpauthor></info>
  
  <refsection xml:id="bug_reports"><info><title>BUG REPORTS</title></info>
    
    <para>
      Reports of bugs or problems should be submitted via electronic
      mail to &lt;devs@brlcad.org&gt;, or via the "cadbug.sh" script.
    </para>
  </refsection>
</refentry>
