'\"! tbl | mmdoc '\"macro stdmacro .ie n \{\ . ds Cr \fB . ds Cb \fB .\} .el \{\ . ds Cr \f7 . ds Cb \f8 .\} .TH SoXtDirectionalLightEditor(3IV) .SH NAME SoXtDirectionalLightEditor \(em component for editing directional lights .SH INHERITS FROM SoXtComponent > SoXtDirectionalLightEditor .SH SYNOPSIS .ps -1 \*(Cr#include .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crtypedef void .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtDirectionalLightEditorCB\*(Cr(void *userData, const SoDirectionalLight *light) .sp .in 1i \f1Methods from class SoXtDirectionalLightEditor: .in 0.5i .sp .ta 28m .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Cr .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtDirectionalLightEditor\*(Cr(Widget parent = NULL, const char *name = NULL, SbBool buildInsideParent = TRUE) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Cr .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cb~SoXtDirectionalLightEditor\*(Cr() .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbattach\*(Cr(SoPath *pathToLight) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbdetach\*(Cr() .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisAttached\*(Cr() .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbaddLightChangedCallback\*(Cr(SoXtDirectionalLightEditorCB *f, void *userData = NULL) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbremoveLightChangedCallback\*(Cr(SoXtDirectionalLightEditorCB *f, void *userData = NULL) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetLight\*(Cr(const SoDirectionalLight &newLight) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crconst SoDirectionalLight & .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetLight\*(Cr() const .sp .in 1i \f1Methods from class SoXtComponent: .in 0.5i .sp .ta 24m .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbshow\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbhide\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisVisible\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrWidget .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetWidget\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisTopLevelShell\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrWidget .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetShellWidget\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrWidget .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetParentWidget\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetSize\*(Cr(const SbVec2s &size) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbVec2s .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetSize\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrDisplay * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetDisplay\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetTitle\*(Cr(const char *newTitle) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crconst char * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetTitle\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetIconTitle\*(Cr(const char *newIconTitle) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crconst char * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetIconTitle\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetWindowCloseCallback\*(Cr(SoXtComponentCB *func, void *data = NULL) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic SoXtComponent * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetComponent\*(Cr(Widget w) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crconst char * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetWidgetName\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crconst char * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetClassName\*(Cr() const .sp .SH DESCRIPTION This class is used to edit an \*(CbSoDirectionalLight\f1 node (color, intensity, and direction are changed). In addition to directly editing directional light nodes, the editor can also be used with callbacks which will be called \&whenever the light is changed. The component consists of a render area and a value slider in the main window, with controls to display a color picker. In the render area there appears a sphere representing \&the world, and a directional light manipulator representing the direction of the light. Picking on the manipulator and moving the mouse provides direct manipulation of the light direction. The color picker \&is used to edit the color, and the value slider edits the intensity. .sp The editor can currently be attached to only one light at a time. Attaching to two different lights will automatically detach the first \&one before attaching the second. .SH METHODS .ta 28m .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Cr .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoXtDirectionalLightEditor\*(Cr(Widget parent = NULL, const char *name = NULL, SbBool buildInsideParent = TRUE) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Cr .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cb~SoXtDirectionalLightEditor\*(Cr() .br .in 1i \f1Constructor and destructor. .sp .in 0.5i .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbattach\*(Cr(SoPath *pathToLight) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbdetach\*(Cr() .br .in 1i \f1Attach/detach the editor to/from a directional light. When attached, changes made in the editor directly affect the attached light. .sp .in 0.5i .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisAttached\*(Cr() .br .in 1i \f1Returns TRUE if the editor is attached. .sp .in 0.5i .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbaddLightChangedCallback\*(Cr(SoXtDirectionalLightEditorCB *f, void *userData = NULL) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbremoveLightChangedCallback\*(Cr(SoXtDirectionalLightEditorCB *f, void *userData = NULL) .br .in 1i \f1Additional way of using the directional light editor, by registering a callback and setting the light. .sp .in 0.5i .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetLight\*(Cr(const SoDirectionalLight &newLight) .br .in 1i+28n .ti 0.5i .ta 28m .ds Pt \*(Crconst SoDirectionalLight & .ie \w'\*(Pt'>=28n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetLight\*(Cr() const .br .in 1i \f1Set new light values, and get the current light values. .sp .in 0.5i .SH SEE ALSO \*(CbSoXtComponent, SoDirectionalLight