'\"! tbl | mmdoc
'\"macro stdmacro
.ie n \{\
.   ds Cr \fB
.   ds Cb \fB
.\}
.el \{\
.   ds Cr \f7
.   ds Cb \f8
.\}
.TH SoNodeKitDetail(3IV)
.SH NAME
SoNodeKitDetail \(em stores detail information about a nodekit 
.SH INHERITS FROM
SoDetail > SoNodeKitDetail
.SH SYNOPSIS
.ps -1
\*(Cr#include <Inventor/details/SoNodeKitDetail.h>
.sp
.in 1i
\f1Methods from class SoNodeKitDetail:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Cr
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbSoNodeKitDetail\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual 
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cb~SoNodeKitDetail\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoBaseKit *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetNodeKit\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoNode *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetPart\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crconst SbName &
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetPartName\*(Cr() const
.sp
.in 1i
\f1Methods from class SoDetail:
.in 0.5i
.sp
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoDetail *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cbcopy\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crstatic SoType
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetClassTypeId\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual SoType
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetTypeId\*(Cr() const
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSbBool
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbisOfType\*(Cr(SoType type) const
.sp
.SH DESCRIPTION
This class contains detail information about a nodekit. This consists of a pointer to the nodekit, a pointer to the child part within the nodekit, and the name of the child part. 
.sp
During a pick action,
\&each nodekit along the picked path creates its own \*(CbSoNodeKitDetail\f1. Together, the full set of details gives you complete picture of the pickpath. 
.sp
Since nodekits have hidden children (See the reference page for \*(CbSoBaseKit\f1),
\&a regular \*(CbSoPath\f1 ends at the topmost nodekit in the path. If you cast the pickpath from an \*(CbSoPath\f1 pointer to an \*(CbSoNodeKitPath\f1 pointer, you can then retrieve all nodekits along the path and examine their corresponding details. 
.SH METHODS
.ta 20m
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Cr
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbSoNodeKitDetail\*(Cr()
.br
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crvirtual 
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(Cb~SoNodeKitDetail\*(Cr()
.br
.in 1i
\f1Constructor and destructor. 
.sp
.in 0.5i
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoBaseKit *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetNodeKit\*(Cr() const
.br
.in 1i
\f1Returns a pointer to the nodekit that created this detail. 
.sp
.in 0.5i
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(CrSoNode *
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetPart\*(Cr() const
.br
.in 1i
\f1Returns a pointer to the part selected within the nodekit that created this detail. 
.sp
.in 0.5i
.in 1i+20n
.ti 0.5i
.ta 20m
.ds Pt \*(Crconst SbName &
.ie \w'\*(Pt'>=20n \{\
.ne 3
\*(Pt
.ti 0.5i
	\c\
\}
.el\{\
.ne 2
\*(Pt	\c\
\}
\*(CbgetPartName\*(Cr() const
.br
.in 1i
\f1Returns the name of the part selected within the nodekit that created this detail. (See \*(CbSoRayPickAction\f1 in the ACTIONS section of the \*(CbSoBaseKit\f1 reference page for more information). 
.sp
.in 0.5i
.SH SEE ALSO
\*(CbSoBaseKit, SoNodeKitPath, SoDetail, SoPickedPoint