SoSpotLightDragger - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 3.1.3
Note : Coin

NAMESoSpotLightDragger − The SoSpotLightDragger class provides interactive geometry for manipulating a spotlight​.

SYNOPSIS
#include <Inventor/draggers/SoSpotLightDragger​.h> Inherits SoDragger​.

Public Member Functionsvirtual SoType getTypeId (void) const
virtual const SoNodekitCatalog * getNodekitCatalog (void) const
SoSpotLightDragger (void)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static const SoNodekitCatalog * getClassNodekitCatalog (void)
static void initClass (void)

Public AttributesSoSFRotation rotation
SoSFVec3f translation
SoSFFloat angle

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
virtual ~SoSpotLightDragger (void)
virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=FALSE)
virtual void setDefaultOnNonWritingFields (void)
void dragStart (void)
void drag (void)
void dragFinish (void)
void setBeamScaleFromAngle (float beamangle)

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)
static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void)
static void startCB (void *f, SoDragger *d)
static void motionCB (void *f, SoDragger *d)
static void doneCB (void *f, SoDragger *d)
static void fieldSensorCB (void *f, SoSensor *s)
static void valueChangedCB (void *f, SoDragger *d)

Protected AttributesSoSFNode beam
SoSFNode beamActive
SoSFNode beamPlacement
SoSFNode beamScale
SoSFNode beamSep
SoSFNode beamSwitch
SoSFNode material
SoSFNode rotator
SoSFNode translator
SoSFNode translatorRotInv
SoSFNode translatorSep
SoFieldSensor * rotFieldSensor
SoFieldSensor * translFieldSensor
SoFieldSensor * angleFieldSensor
SbPlaneProjector * planeProj

Additional Inherited Members

Detailed DescriptionThe SoSpotLightDragger class provides interactive geometry for manipulating a spotlight​. Here's how the dragger looks with its default geometry in the inactive state: This dragger is well suited for setting up the fields of a SoSpotLight node, as it provides geometry for the end-user to interact with a directional vector for the spotlight, to set up it's position and to control the cut-off angle for the 'lampshade' around the lightsource​. Note that there is one aspect of SoSpotLight nodes that can not be controlled with this dragger: the SoSpotLight::dropOffRate field​. The Coin library includes a manipulator class, SoSpotLightManip, which wraps the functionality provided by this class inside the necessary mechanisms for connecting it to SoSpotLight node instances in a scenegraph​. See also SoSpotLightManip, SoSpotLight SoDirectionalLightDragger, SoPointLightDragger

Constructor & Destructor Documentation

SoSpotLightDragger::SoSpotLightDragger (void)Default constructor, sets up the dragger nodekit catalog with the interaction and feedback geometry​. Node kit structure (new entries versus parent class marked with arrow prefix): CLASS SoSpotLightDragger -->"this" "callbackList" "topSeparator" "motionMatrix" --> "material" --> "translatorSep" --> "translatorRotInv" --> "translator" --> "rotator" --> "beamSep" --> "beamPlacement" --> "beamScale" --> "beamSwitch" --> "beam" --> "beamActive" "geomSeparator"(See SoBaseKit::printDiagram() for information about the output formatting​.) Detailed information on catalog parts: CLASS SoSpotLightDragger PVT "this", SoSpotLightDragger --- "callbackList", SoNodeKitListPart [ SoCallback, SoEventCallback ] PVT "topSeparator", SoSeparator --- PVT "motionMatrix", SoMatrixTransform --- "material", SoMaterial --- PVT "translatorSep", SoSeparator --- PVT "translatorRotInv", SoRotation --- "translator", SoDragPointDragger --- "rotator", SoRotateSphericalDragger --- PVT "beamSep", SoSeparator --- "beamPlacement", SoTranslation --- "beamScale", SoScale --- PVT "beamSwitch", SoSwitch --- "beam", SoSeparator --- "beamActive", SoSeparator --- PVT "geomSeparator", SoSeparator --- (See SoBaseKit::printTable() for information about the output formatting​.)

SoSpotLightDragger::~SoSpotLightDragger (void) [protected], [virtual]Protected destructor​. (Dragger classes are derived from SoBase, so they are reference counted and automatically destroyed when their reference count goes to 0​.)

Member Function Documentation

SoType SoSpotLightDragger::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } }For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses​. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode​.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine​.h (for engine classes) and so on​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Reimplemented from SoDragger​.

const SoFieldData * SoSpotLightDragger::getFieldData (void) const [protected], [virtual]Returns a pointer to the class-wide field data storage object for this instance​. If no fields are present, returns NULL​. Reimplemented from SoDragger​.

const SoNodekitCatalog * SoSpotLightDragger::getNodekitCatalog (void) const [virtual]Returns the nodekit catalog which defines the layout of this class' kit​. Reimplemented from SoDragger​.

SbBool SoSpotLightDragger::setUpConnections (SbBool onoff, SbBool doitalways = FALSE) [protected], [virtual]Sets up all internal connections for instances of this class​. (This method will usually not be of interest to the application programmer, unless you want to extend the library with new custom nodekits or dragger classes​. If so, see the SoBaseKit class documentation​.) Reimplemented from SoInteractionKit​.

void SoSpotLightDragger::setDefaultOnNonWritingFields (void) [protected], [virtual](Be aware that this method is unlikely to be of interest to the application programmer who does not want to extend the library with new custom nodekits or draggers​. If you indeed are writing extensions, see the information in the SoBaseKit class documentation​.) This is a virtual method, and the code in it should call SoField::setDefault() with argument TRUE on part fields that should not be written upon scenegraph export operations​. This is typically done when: 1. field value is NULL and part is NULL by default 2. it is a leaf SoGroup or SoSeparator node with no children 3. it is a leaf listpart with no children and an SoGroup or SoSeparator container 4. it is a non-leaf part and it's of SoGroup type and all fields are at their default values Subclasses should usually override this to do additional settings for new member fields​. From the subclass, do remember to call 'upwards' to your superclass' setDefaultOnNonWritingFields() method​. Reimplemented from SoDragger​.

void SoSpotLightDragger::startCB (void * f, SoDragger * d) [static], [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


void SoSpotLightDragger::motionCB (void * f, SoDragger * d) [static], [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


void SoSpotLightDragger::doneCB (void * f, SoDragger * d) [static], [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


void SoSpotLightDragger::fieldSensorCB (void * d, SoSensor * s) [static], [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


void SoSpotLightDragger::valueChangedCB (void * f, SoDragger * d) [static], [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


void SoSpotLightDragger::dragStart (void) [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.

Called when dragger is selected (picked) by the user​.

void SoSpotLightDragger::drag (void) [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.

Called when user drags the mouse after picking the dragger​.

void SoSpotLightDragger::dragFinish (void) [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.

Called when mouse button is released after picking and interacting with the dragger​.

void SoSpotLightDragger::setBeamScaleFromAngle (float beamangle) [protected]Scales the geometry representing the 'lampshade' around the lightsource to represent the given beamangle​.

Member Data Documentation

SoSFRotation SoSpotLightDragger::rotationThis field is continuously updated to contain the rotation of the current direction vector​. The application programmer will typically connect this to the rotation field of a SoSpotLight node (unless using the SoSpotLightManip class, where this is taken care of automatically)​. It may also of course be connected to any other rotation field controlling the direction of scenegraph geometry, it does not have to part of a SoSpotLight node specifically​.

SoSFVec3f SoSpotLightDragger::translationContinuously updated to contain the current translation from the dragger's local origo position​.

SoSFFloat SoSpotLightDragger::angleThe cut-off angle for the 'lampshade' around the lightsource​. Typically connected to a SoSpotLight::cutOffAngle field​.

SoFieldSensor * SoSpotLightDragger::rotFieldSensor [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


SoFieldSensor * SoSpotLightDragger::translFieldSensor [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


SoFieldSensor * SoSpotLightDragger::angleFieldSensor [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


SbPlaneProjector * SoSpotLightDragger::planeProj [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.


AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   52,887 byte
man-SoSpotLightDragger.3coin3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 201,053
Visitor ID   :     :  
Visitor IP   :   3.146.176.191   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.