'\" t
.\"     Title: COPYEVAL
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL-NS Stylesheets v1.76.1 <http://docbook.sf.net/>
.\"      Date: 08/28/2023
.\"    Manual: BRL-CAD User Commands
.\"    Source: BRL-CAD
.\"  Language: English
.\"
.TH "COPYEVAL" "nged" "08/28/2023" "BRL\-CAD" "BRL\-CAD User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
copyeval \- Creates a new primitive object called \fInew_ primitive\fRby applying the transformation matrices accumulated along the \fIpath_to_old_primitive\fR to the leaf primitive shape object at the end of the path and saving the result under the name \fInew_ primitive\fR\&.
.SH "SYNOPSIS"
.HP \w'\fBcopyeval\fR\ 'u
\fBcopyeval\fR {\fInew_primitive\ path_to_old_primitive\fR}
.SH "DESCRIPTION"
.PP
Objects in a
\fIBRL\-CAD\fR
model are stored as Boolean trees (combinations), with the members being primitive shapes or other Boolean trees\&. Each member has a transformation matrix associated with it\&. This arrangement allows a primitive to be a member of a combination, and that combination may be a member of another combination, and so on\&. When a combination is displayed, the transformation matrices are applied to its members and passed down through the combinations to the leaf (primitive shape) level\&. The accumulated transformation matrix is then applied to the primitive before it is drawn on the screen\&. The
\fBcopyeval\fR
command creates a new primitive object called
\fInew_ primitive\fR
by applying the transformation matrices accumulated along the
\fI path_to_old_primitive\fR
to the leaf primitive shape object at the end of the path and saving the result under the name
\fInew_ primitive\&.\fR
The
\fI path_to_old_ primitive \fR
must be a legitimate path ending with a primitive shape\&.
.SH "EXAMPLES"
.PP
The example shows the use of the
\fBcopyeval\fR
command to create a new primitive by applying the transformation matrices along the path to the old primitive\&.
.PP
\fBExample\ \&1.\ \&Create a new primitive object by applying the transformation matrices along the path to the old primitive.\fR
.PP
mged>\fBcopyeval shapeb comb1/comb2/comb3/shapea\fR
.PP
Creates
\fIshapeb\fR
from
\fIshapea\fR
by applying the accumulated transformation matrices from the path comb1/comb2/comb3\&.
.SH "AUTHOR"
.PP
BRL\-CAD Team
.SH "BUG REPORTS"
.PP
Reports of bugs or problems should be submitted via electronic mail to
devs@brlcad\&.org
