#include <mesh.h>
ScreenSpacePicker objects are used to translate the user action of clicking in the view into a picked point on the surface of a mesh.
If you need to control the algorithm by which points are picked, you can override this class in a plug-in, and replace Mudbox's version, which is in the plugin called "HWPicker". To create your own:
On OSX, this plugin is found in the Mudbox 2010 package, under Contents>MacOS>plugins. On the PC, it is found in the work dir folder, under "plugins"
Inheritance diagram for ScreenSpacePicker:Public Member Functions | |
| virtual void | SetFramebufferSize (unsigned int iWidth, unsigned int iHeight) |
| This is called by Mudbox to inform the object of the size of the visible framebuffer. More... | |
| virtual bool | Pick (const class Camera *pCamera, float fXPosition, float fYPosition, SurfacePoint &sResult, bool bForceRedrawBuffer=false) |
| Translates the x,y coordinates of a user mouse-click to a point on surface in the scene. More... | |
Public Member Functions inherited from TreeNode | |
| TreeNode (void) | |
| ~TreeNode (void) | |
| virtual void | Serialize (Stream &s) |
| Serializes the node. More... | |
| virtual void | AddChild (TreeNode *pChild, bool bFirst=false) const |
| Adds a node/subtree to the list of children. The added node will be removed from the current parent if it has one. More... | |
| virtual void | RemoveChild (TreeNode *pChild) const |
| Removes a node/subtree from the list of children. More... | |
| virtual TreeNode * | FirstChild (void) const |
| Returns the first node from the child list. More... | |
| virtual TreeNode * | Parent (void) const |
| Returns the parent node. More... | |
| virtual TreeNode * | NextSibling (void) const |
| Returns the next linked node with the same parent. More... | |
| virtual TreeNode * | PrevSibling (void) const |
| Returns the previous linked node with the same parent. More... | |
| virtual void | MoveChild (TreeNode *pChild, TreeNode *pAfter) |
| Moves the child after the given node in order. More... | |
| virtual TreeNode * | ChildByClass (const ClassDesc *pClass, bool bAutoCreate=true) const |
| Returns the first child with the specified type. When the bAutoCreate parameter is true and such a child does not exists, it creates it with the preferred descedant type. More... | |
| template<typename type > | |
| type * | ChildByClass (bool bAutoCreate=true) const |
| Same as above, a most confortable version. More... | |
| virtual TreeNode * | ChildByClass (const ClassDesc *pClass, unsigned int iIndex=0) const |
| Returns the first child with the specified type, or returns zero if no child found. More... | |
| template<typename type > | |
| type * | ChildByClass (unsigned int iIndex=0) const |
| Same as above, a most confortable version. More... | |
| virtual void | DeleteChildByClass (const ClassDesc *pClass) |
| Deletes all child which is derived from a specific class. More... | |
| virtual QString | Info (void) const |
| Returns descriptive information about the node. More... | |
| virtual bool | Visible (void) const |
| Returns if the node is visible. Should be overridden in derived classes. More... | |
| virtual void | SetVisible (bool b) |
| Sets the node visibility Should be overridden in derived classes. More... | |
| virtual bool | Locked (void) const |
| Returns if the node is locked. Should be overridden in derived classes. More... | |
| virtual void | SetLocked (bool b) |
| Sets the locking of the node. Should be overridden in derived classes. More... | |
| virtual bool | HiddenFromUI (void) const |
| Returns true if the node cannot be seen from UI. More... | |
| virtual void | SetHiddenFromUI (bool b) |
| Sets visibility in UI. More... | |
| virtual void | OnLinked (const TreeNode *pOldParent) |
| This function is called then the node is linked to a new parent. More... | |
| virtual void | CheckValidity (Node::DiagnosticLevel iLevel=dgnLevel2) const |
| See the documentation for Node::CheckValidity. More... | |
| QString | UniqueChildName (const TreeNode *pChild, const QString &sPrefix="") const |
| Finds a node name that is unique among the children of this node. More... | |
| virtual void | SetStringID (const QString &sName) |
| This method does the same thing as Node::SetStringID, except it ensures the name is unique among this node's siblings. More... | |
| virtual void | CopyTo (Node *pNode) const |
Public Member Functions inherited from Node | |
| Node (const QString &sStringID="", const QString &sDisplayName="") | |
| Standard constructor. More... | |
| virtual | ~Node (void) |
| virtual void | Initialize (void) |
| void | LoadTemplate (const QString &sFileName="", bool bStartEvent=false) |
| Use an external XML file to initialize the attributes. More... | |
| void | SaveTemplate (const QString &sFileName="", bool bSaveOnlyVisible=false) |
| Save current attributes as an XML template. More... | |
| unsigned int | Version (void) const |
| Returns the current version of the node. This number increases when the content of the node changed (when ContentChanged() called). More... | |
| void | SetVersion (unsigned int iVersion) |
| Sets the current version number for the node. More... | |
| unsigned int | ReferenceCount (void) const |
| Returns the number of pointers referencing this node. More... | |
| Attribute * | ReferencePointer (unsigned int iIndex) const |
| Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More... | |
| Node * | ReferenceNode (unsigned int iIndex) const |
| Returns the address of a node referencing this node. More... | |
| virtual QString | Name (const ClassDesc *pClass=0) const |
| Deprecated. More... | |
| virtual void | SetName (const QString &sName) |
| Deprecated. More... | |
| virtual QString | StringID (const ClassDesc *pClass=0) const |
| Returns the string id of the node. More... | |
| virtual QString | DisplayName (void) const |
| Returns the display name of the node. More... | |
| virtual void | SetDisplayName (const QString &sDisplayName) |
| Sets the display name of the node. More... | |
| virtual QString | HelpID (void) const |
| Returns the help entry id of the node. Can be overwritten in derived classes. More... | |
| virtual void | SetHelpID (const QString &sHelpID) |
| Sets the help entry id of the node. More... | |
| void | Annex (Node *pSource, const QString &sCategory="") |
| Relink all the attributes of the source node to this one. More... | |
| bool | IsKindOf (const ClassDesc *pClass) const |
| Returns true if this node is derived from the pClass class. More... | |
| void | ContentChanged (void) const |
| This function must be called if the content of the node is changed. More... | |
| virtual Node * | Duplicate (void) const |
| virtual void | OnNodeEvent (const Attribute &cAttribute, NodeEventType cType) |
| This function is called if an event occurs with any of the attributes of the node. More... | |
| virtual void | OnEvent (const EventGate &cEvent) |
| This function is called when a generic event occurs. See EventGate class. More... | |
| void | RequestDeferredEvent (Attribute &cAttribute) |
| Request for a deferred event, which will occur only in the main loop. More... | |
| unsigned int | AttributeCount (void) const |
| Returns the number of attributes owned by the node. More... | |
| Attribute * | AttributeByIndex (int iIndex) const |
| Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More... | |
| Attribute * | AttributeByName (const QString &sName) const |
| Returns a specified attribute by its name. Returns 0 if the attribute not found. More... | |
| Attribute * | AttributeByID (const QString &sID) const |
| Returns a specified attribute by its ID. Returns 0 if the attribute not found. More... | |
| void | SetAttributeValue (const QString &sAttributeID, const QString &sNewValue) |
| Set the value of an attribute from a string. More... | |
| QString | AttributeValue (const QString &sAttributeID) const |
| Returns the current value of an attribute as a string. More... | |
| void | LogAttributes (void) const |
| Write all attributes into the log file. More... | |
| virtual QWidget * | CreatePropertiesWindow (QWidget *pParent) |
| Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More... | |
| Attribute * | AddAttribute (Attribute::AttributeType type, const QString &id) |
| Allows SDK users to add attributes at runtime. More... | |
| Node * | Next (void) const |
| Returns the next node in the chain. Used to enumerate the current nodes. See also First(). More... | |
| int | ID (void) const |
| Returns an ID for the node. The ID is unique in the whole application life. More... | |
| bool | SetID (int iID) |
| Set ID for the node. More... | |
Additional Inherited Members | |
Public Types inherited from Node | |
| enum | DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 } |
| Indicates the level of validity checking that is performed in CheckValidity() More... | |
Static Public Member Functions inherited from Node | |
| static void | StartHashing () |
| This is called once in main once static ctors are done. More... | |
| static Node * | First (void) |
| This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More... | |
| static Node * | ByID (int iID) |
| Returns the node with the specified ID, or zero if such a node does not exists. More... | |
| static Node * | ByName (const QString &sClass, const QString &sName) |
| Search for a node with the name sName. More... | |
Public Attributes inherited from TreeNode | |
| DECLARE_CLASS | |
Public Attributes inherited from Node | |
| AttributeThisPointer | m_pThis |
| DECLARE_CLASS | |
This is called by Mudbox to inform the object of the size of the visible framebuffer.
| [in] | iWidth | The width of the frame buffer in pixels |
| [in] | iHeight | The height of the frame buffer in pixels |
|
virtual |
Translates the x,y coordinates of a user mouse-click to a point on surface in the scene.
| [in] | pCamera | A pointer to the camera that was used to display this view |
| [in] | fXPosition | The X position of the point the user clicked (in pixels) |
| [in] | fYPosition | The Y position of the point the user clicked (in pixels) |
| [out] | sResult | The selected point on the surface |
| [in] | bForceRedrawBuffer | Flag to force Picker's buffer redraw |