SoPointLightDragger(3IV)NAMESoPointLightDragger (SoPtLtDrag) - sun-shaped icon you can translate in
3D by dragging with the mouse
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
SoDragger > SoPointLightDraggerSYNOPSIS
#include <Inventor_c/draggers/SoPointLightDragger.h>
typedef SoPointLightDragger SoPtLtDrag
Fields from class SoPointLightDragger:
SoSFVec3f translation
Fields from class SoDragger:
SoSFBool isActive
Fields from class SoInteractionKit:
SoSFEnum renderCaching
SoSFEnum boundingBoxCaching
SoSFEnum renderCulling
SoSFEnum pickCulling
Parts from class SoBaseKit:
(SoNodeKitListPart) callbackList
Functions from class SoPointLightDragger:
SoPointLightDragger * SoPtLtDragCreate()
const SoNodekitCatalog * SoPtLtDragGetClassNkitCat()
SoType SoPtLtDragGetClassTypeId()
Functions from class SoDragger:
void SoPtLtDragAddStartCB(SoPtLtDrag *this, SoDraggerCB
*f, void *userData = NULL)
void SoPtLtDragRemoveStartCB(SoPtLtDrag *this, SoDraggerCB
*f, void *userData = NULL)
void SoPtLtDragAddMotionCB(SoPtLtDrag *this, SoDraggerCB
*f, void *userData = NULL)
void SoPtLtDragRemoveMotionCB(SoPtLtDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoPtLtDragAddFinishCB(SoPtLtDrag *this, SoDraggerCB
*f, void *userData = NULL)
void SoPtLtDragRemoveFinishCB(SoPtLtDrag *this,
SoDraggerCB *f, void *userData = NULL)
Page 1SoPointLightDragger(3IV)
void SoPtLtDragAddValueChangedCB(SoPtLtDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoPtLtDragRemoveValueChangedCB(SoPtLtDrag *this,
SoDraggerCB *f, void *userData = NULL)
SbBool SoPtLtDragEnableValueChangedCBs(SoPtLtDrag *this)
void SoPtLtDragSetMinGesture(SoPtLtDrag *this, int pixels)
int SoPtLtDragGetMinGesture(const SoPtLtDrag *this)
void SoPtLtDragSetMinScale(float newMinScale)
float SoPtLtDragGetMinScale()
Functions from class SoInteractionKit:
SbBool SoPtLtDragSetPartAsPath(SoPtLtDrag *this, const char
*partName, SoPath *surrogatePath )
Functions from class SoBaseKit:
const SoNodekitCatalog * SoPtLtDragGetCat(const SoPtLtDrag *this)
SoNode * SoPtLtDragGetPart(SoPtLtDrag *this, const char
*partName, SbBool makeIfNeeded)
SbString SoPtLtDragGetPartString(SoPtLtDrag *this, const
SoBase *part)
SoNodeKitPath * SoPtLtDragCreatePathToPart(SoPtLtDrag *this,
const char *partName, SbBool makeIfNeeded,
const SoPath *pathToExtend = NULL)
SbBool SoPtLtDragSetPart(SoPtLtDrag *this, const char
*partName, SoNode *newPart)
SbBool SoPtLtDragSet(SoPtLtDrag *this, char *partName,
char *parameters)
SbBool SoPtLtDragSet2(SoPtLtDrag *this, char
*nameValuePairs)
SbBool SoPtLtDragIsSearchingChildren()
void SoPtLtDragSetSearchingChildren(SbBool newVal)
Functions from class SoNode:
void SoPtLtDragSetOverride(SoPtLtDrag *this, SbBool state)
SbBool SoPtLtDragIsOverride(const SoPtLtDrag *this)
SoNode * SoPtLtDragCopy(const SoPtLtDrag *this, SbBool
copyConnections = FALSE)
SbBool SoPtLtDragAffectsState(const SoPtLtDrag *this)
SoNode * SoPtLtDragGetByName(const char *name)
int SoPtLtDragGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoPtLtDragSetToDflts(SoPtLtDrag *this)
SbBool SoPtLtDragHasDfltVals(const SoPtLtDrag *this)
SbBool SoPtLtDragFldsAreEq(const SoPtLtDrag *this, const
SoFieldContainer *fc)
Page 2SoPointLightDragger(3IV)
void SoPtLtDragCopyFieldVals(SoPtLtDrag *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
void SoPtLtDragGet(SoPtLtDrag *this, SbString
*fieldDataString)
int SoPtLtDragGetFields(const SoPtLtDrag *this,
SoFieldList *resultList)
SoField * SoPtLtDragGetField(const SoPtLtDrag *this, const char
*fieldName)
SbBool SoPtLtDragGetFieldName(const SoPtLtDrag *this, const
SoField *field, SbName *fieldName)
SbBool SoPtLtDragIsNotifyEnabled(const SoPtLtDrag *this)
SbBool SoPtLtDragEnableNotify(SoPtLtDrag *this, SbBool flag)
Functions from class SoBase:
void SoPtLtDragRef(SoPtLtDrag *this)
void SoPtLtDragUnref(const SoPtLtDrag *this)
void SoPtLtDragUnrefNoDelete(const SoPtLtDrag *this)
void SoPtLtDragTouch(SoPtLtDrag *this)
SoType SoPtLtDragGetTypeId(const SoPtLtDrag *this)
SbBool SoPtLtDragIsOfType(const SoPtLtDrag *this, SoType
type)
void SoPtLtDragSetName(SoPtLtDrag *this, const char *name)
SbName SoPtLtDragGetName(const SoPtLtDrag *this)
DESCRIPTIONSoPointLightDragger is a dragger that looks like a point light source,
can be translated in three directions, and has a translation field that
always reflects its position in local space. The point light dragger also
has a special material part which can be used to make it take on the
color of a light source.
Remember: This is not a light source! It just looks like one. If you want
to move a light with this dragger, you can either:
[a] Use an SoPointLightManip, which is subclassed from SoLight. It
creates one of these draggers and uses it as the interface to change the
location of its light source (see the SoPointLightManip reference page).
The manipulator also edits the material part of this dragger to match the
color of light the manipulator is producing.
[b] Use a field-to-field connection to connect the location of a light
source from this dragger's translation field.
This dragger contains an SoDragPointDragger, which you drag through 3-
space using an integrated set of linear and planar draggers. (For
detailed information on how to use SoDragPointDragger, see its reference
page.) The point light dragger sets the planar translation parts of this
dragPoint dragger with a new default that looks like a shining sun
emanating rays of light (okay, so use your imagination).
Page 3SoPointLightDragger(3IV)
By changing the material part you can change the color of the sun shape,
because the default part contains no SoMaterial nodes. This fact enables
the SoPointLightManip (not the dragger, the manipulator) to color its
dragger to match the color of the light it is emanating. Recall that a
point light manip is derived from SoLight and creates a point light
dragger to provide an interface and geometrical presence on screen. The
manipulator also has a color field; when the light color changes, it
changes the material part of its dragger so that they match.
You can change the parts in any instance of this dragger using
SoDraggerSetPart().
The default part geometries are defined as resources for this
SoPointLightDragger class. They are detailed in the Dragger Resources
section of the online reference page for this class. You can make your
program use different default resources for the parts by copying the file
/usr/share/data/draggerDefaults/pointLightDragger.iv into your own
directory, editing the file, and then setting the environment variable
SO_DRAGGER_DIR to be a path to that directory.
FIELDS
SoSFVec3f translation
Position of the dragger.
FUNCTIONSSoPointLightDragger * SoPtLtDragCreate()
Constructor.
const SoNodekitCatalog * SoPtLtDragGetClassNkitCat()
Returns an SoNodekitCatalog for this class
SoType SoPtLtDragGetClassTypeId()
Returns type identifier for this class.
CATALOG PARTS
__________________________________________________________
All parts
NULL by
Part Name Part Type Default Type Default
callbackList NodeKitListPart -- yes
material Material -- yes
translator DragPointDragger -- yes
__________________________________________________________
|
|
Page 4SoPointLightDragger(3IV)
________________________________________________________________
Extra information for list parts from above table
Part Name Container Type Permissible Types
Callback, EventCallback
callbackList Separator
________________________________________________________________
|
|
DRAGGER RESOURCES
Resource: pointLightOverallMaterial
Part: material
Appearance: white. half strength emissive, half strength diffuse
Description: sets material for the sun shape when stationary.
Resource for the moving sun,
pointLightTranslatorPlaneTranslatorActive, contains a
yellow material for highlighting.
Resource: pointLightTranslatorPlaneTranslator
Parts: translator.yzTranslator.translator
translator.xzTranslator.translator
translator.xyTranslator.translator
Appearance: sun shape with no material
Description: picking these parts initiates dragging by the yz, xz,
and xy planar draggers respectively.
Resource: pointLightTranslatorPlaneTranslatorActive
Parts: translator.yzTranslator.translatorActive
translator.xzTranslator.translatorActive
translator.xyTranslator.translatorActive
Appearance: yellow sun shape
Description: shown during planar dragging in the yz, xz, and xy
planes respectively.
Resource: pointLightTranslatorLineTranslator
Parts: translator.xTranslator.translator
translator.yTranslator.translator
translator.zTranslator.translator
Appearance: white cylinder
Description: picking these parts initiates dragging in the x, y, and
z linear draggers respectively.
Resource: pointLightTranslatorLineTranslatorActive
Parts: translator.xTranslator.translatorActive
translator.yTranslator.translatorActive
translator.zTranslator.translatorActive
Appearance: yellow cylinder
Description: shown during linear dragging in the x, y, and z
directions respectively.
Page 5SoPointLightDragger(3IV)FILE FORMAT/DEFAULTS
PointLightDragger {
renderCaching AUTO
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
isActive FALSE
translation 0 0 0
callbackList NULL
material <pointLightOverallMaterial resource>
translator DragPointDragger {
}
translator.yzTranslator.translator <pointLightTranslatorPlaneTranslator resource>
translator.xzTranslator.translator <pointLightTranslatorPlaneTranslator resource>
translator.xyTranslator.translator <pointLightTranslatorPlaneTranslator resource>
translator.yzTranslator.translatorActive <pointLightTranslatorPlaneTranslatorActive resource>
translator.xzTranslator.translatorActive <pointLightTranslatorPlaneTranslatorActive resource>
translator.xyTranslator.translatorActive <pointLightTranslatorPlaneTranslatorActive resource>
translator.xTranslator.translator <pointLightTranslatorLineTranslator resource>
translator.yTranslator.translator <pointLightTranslatorLineTranslator resource>
translator.zTranslator.translator <pointLightTranslatorLineTranslator resource>
translator.xTranslator.translatorActive <pointLightTranslatorLineTranslatorActive resource>
translator.yTranslator.translatorActive <pointLightTranslatorLineTranslatorActive resource>
translator.zTranslator.translatorActive <pointLightTranslatorLineTranslatorActive resource>
}
SEE ALSO
SoInteractionKit, SoDragger, SoCenterballDragger,
SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger,
SoJackDragger, SoRotateCylindricalDragger, SoRotateDiscDragger,
SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger,
SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger,
SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger,
SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger,
SoTranslate2Dragger
Page 6