MudboxCurve Class Reference

#include <curve.h>

Class Description

Definition at line 92 of file curve.h.

+ Inheritance diagram for MudboxCurve:

Public Types

enum  CurveType { CT_3D = 0, CT_2D }
 Curve type. Used to determine if curve is treated as a ViewCurve (2D) or a regular 3D curve. More...
 
- Public Types inherited from Node
enum  DiagnosticLevel { dgnLevel1, dgnLevel2, dgnLevel3 }
 Indicates the level of validity checking that is performed in CheckValidity() More...
 

Public Member Functions

 MudboxCurve ()
 
virtual ~MudboxCurve ()
 
virtual int AddPoint (const CurvePoint &pt)
 Add 3D world space point to end of point list. More...
 
virtual bool SetPoint (int index, const CurvePoint &pt)
 Replaces existing point to the values passed in. More...
 
virtual bool SetPoint (int index, const Vector &pt)
 Replaces existing point to the values passed in. More...
 
virtual const CurvePointPoint (int index) const
 Returns the 3D world space point from specified index. More...
 
virtual Vector WorldPosition (int iIndex) const
 Returns the world space position of the specified point. More...
 
virtual int PointCount () const
 Returns the number of points. More...
 
virtual bool Point (int index, CurvePoint &point)
 Sets the input to the 3D world space point at index. More...
 
virtual const QList< CurvePoint > & Points () const
 Returns the array of points. More...
 
virtual bool InsertPoint (int before, const CurvePoint &pt)
 Insert 3D world space point into point list. More...
 
virtual bool RemovePoint (int index)
 Removes 3D world space point at index. More...
 
virtual void Serialize (Stream &s)
 Serialize the node. More...
 
virtual const AxisAlignedBoundingBoxBoundingBox ()
 Return world space bounding box. More...
 
virtual void CopyTo (Node *pNode) const
 Copies Curve into another Curve (pNode must be Curve type) More...
 
virtual bool IsConstrainedToSurface (void) const
 TODO. More...
 
virtual void CreateSpline (float fSmoothness)
 Creates a NURBS curve. More...
 
virtual float SplineSmoothness () const
 Returns NURBS smoothness value. More...
 
virtual void SetSplineSmoothness (float fSmoothness)
 Sets NURBS smoothness, calls CreateSpline() with new smoothness value. More...
 
virtual void BeginEdit ()
 Pauses any updating of the spline or any other automatic updating while adding points. More...
 
virtual void EndEdit ()
 Updates & resumes any auto updating. More...
 
virtual bool IsBeingEdited () const
 Returns true if this curve is being edited. More...
 
virtual NURBSCurveSpline () const
 Returns the internal spline representation if it exists. More...
 
virtual int ToSplineIndex (int iPointIndex) const
 
virtual bool IsSpline (void) const
 Returns true if a NURBS representation exists for this Curve. More...
 
virtual void ProjectPoint (const Vector &vPoint, Vector &vResult) const
 Project a point onto the curve. More...
 
virtual void SetCurveType (enum CurveType ct)
 Sets the curve type. Can be 3D or 2D. At this time, only affects how curve is edited and rendered. More...
 
virtual enum CurveType CurveType () const
 Returns the Curve type. More...
 
virtual NURBSCurveFalloffCurve ()
 Returns the fall off curve used for certain operations on this Curve. More...
 
- Public Member Functions inherited from CurveBase
 CurveBase ()
 Constructor, initializes internal variables. More...
 
virtual ~CurveBase ()
 Virtual destructor. More...
 
virtual void Render ()
 Virtual render method. More...
 
void SetSelected (bool bTOrF)
 Set and get selection state. More...
 
bool Selected () const
 
virtual void SetClosed (bool bTOrF)
 Creates a loop. More...
 
bool Closed () const
 
virtual mudbox::Color Color (void) const
 Control the color of the curve, default is green. Note that selected curves always rendered with yellow color. More...
 
virtual void SetColor (const mudbox::Color &cColor)
 
virtual void ResetColor (void)
 
virtual void SetGeometry (mudbox::Geometry *pGeom)
 Set the mesh that this curve is associated with. More...
 
mudbox::GeometryGeometry () const
 
virtual float Length () const
 Returns length of curve in curve's coordinate system. More...
 
- Public Member Functions inherited from GroupNode
virtual class TransformationTransformation (void) const
 This method returns the Transformation node attached to this node (i.e., its Parent in the scene hierarchy). More...
 
- Public Member Functions inherited from TreeNode
 TreeNode (void)
 
 ~TreeNode (void)
 
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 TreeNodeFirstChild (void) const
 Returns the first node from the child list. More...
 
virtual TreeNodeParent (void) const
 Returns the parent node. More...
 
virtual TreeNodeNextSibling (void) const
 Returns the next linked node with the same parent. More...
 
virtual TreeNodePrevSibling (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 TreeNodeChildByClass (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 >
typeChildByClass (bool bAutoCreate=true) const
 Same as above, a most confortable version. More...
 
virtual TreeNodeChildByClass (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 >
typeChildByClass (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...
 
- 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...
 
AttributeReferencePointer (unsigned int iIndex) const
 Returns the address of an attribute which refers to this node. The type of the attribute is always aptr. More...
 
NodeReferenceNode (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 NodeDuplicate (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...
 
AttributeAttributeByIndex (int iIndex) const
 Returns a specified attribute (or 0 if iIndex is greater than the number of attributes). More...
 
AttributeAttributeByName (const QString &sName) const
 Returns a specified attribute by its name. Returns 0 if the attribute not found. More...
 
AttributeAttributeByID (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 QWidgetCreatePropertiesWindow (QWidget *pParent)
 Create a window which displays the attributes of the node. Can be overriden to provide a custom interface. More...
 
AttributeAddAttribute (Attribute::AttributeType type, const QString &id)
 Allows SDK users to add attributes at runtime. More...
 
NodeNext (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...
 

Protected Attributes

QList< CurvePointm_vPoints
 Using QList for storage. More...
 
enum CurveType m_eCurveType
 
- Protected Attributes inherited from CurveBase
abool m_bSelected
 
abool m_bClosed
 
float m_aColor [4]
 
aptr< mudbox::Geometrym_pGeometry
 Mesh that this curve is associated with. Can be NULL. More...
 
AxisAlignedBoundingBox m_AABB
 3D world space bounding box const AxisAlignedBoundingBox &, More...
 
bool m_bRefreshBoundingBox
 

Additional Inherited Members

- Static Public Member Functions inherited from Node
static void StartHashing ()
 This is called once in main once static ctors are done. More...
 
static NodeFirst (void)
 This function will return the first node in the memory. Used to enumerate all the current nodes. See also Next(). More...
 
static NodeByID (int iID)
 Returns the node with the specified ID, or zero if such a node does not exists. More...
 
static NodeByName (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
 

Member Enumeration Documentation

enum CurveType

Curve type. Used to determine if curve is treated as a ViewCurve (2D) or a regular 3D curve.

Enumerator
CT_3D 
CT_2D 

Definition at line 182 of file curve.h.

183  {
184  CT_3D = 0,
185  CT_2D,
186  };

Constructor & Destructor Documentation

virtual ~MudboxCurve ( )
virtual

Member Function Documentation

virtual int AddPoint ( const CurvePoint pt)
virtual

Add 3D world space point to end of point list.

Returns index of added point.

virtual bool SetPoint ( int  index,
const CurvePoint pt 
)
virtual

Replaces existing point to the values passed in.

Returns true on success, false on failure.

virtual bool SetPoint ( int  index,
const Vector pt 
)
virtual

Replaces existing point to the values passed in.

Returns true on success, false on failure.

virtual const CurvePoint& Point ( int  index) const
virtual

Returns the 3D world space point from specified index.

No fail condition.

virtual Vector WorldPosition ( int  iIndex) const
virtual

Returns the world space position of the specified point.

virtual int PointCount ( ) const
virtual

Returns the number of points.

virtual bool Point ( int  index,
CurvePoint point 
)
virtual

Sets the input to the 3D world space point at index.

Returns true if succeeded or false if failed.

virtual const QList<CurvePoint>& Points ( ) const
virtual

Returns the array of points.

virtual bool InsertPoint ( int  before,
const CurvePoint pt 
)
virtual

Insert 3D world space point into point list.

Returns true if successful, otherwise false.

virtual bool RemovePoint ( int  index)
virtual

Removes 3D world space point at index.

Returns true if successful, otherwise false.

virtual void Serialize ( Stream s)
virtual

Serialize the node.

Reimplemented from CurveBase.

virtual const AxisAlignedBoundingBox& BoundingBox ( )
virtual

Return world space bounding box.

Reimplemented from CurveBase.

virtual void CopyTo ( Node pNode) const
virtual

Copies Curve into another Curve (pNode must be Curve type)

Reimplemented from CurveBase.

virtual bool IsConstrainedToSurface ( void  ) const
virtual

TODO.

virtual void CreateSpline ( float  fSmoothness)
virtual

Creates a NURBS curve.

virtual float SplineSmoothness ( ) const
virtual

Returns NURBS smoothness value.

virtual void SetSplineSmoothness ( float  fSmoothness)
virtual

Sets NURBS smoothness, calls CreateSpline() with new smoothness value.

This automatically creates a NURBS representation

virtual void BeginEdit ( )
virtual

Pauses any updating of the spline or any other automatic updating while adding points.

virtual void EndEdit ( )
virtual

Updates & resumes any auto updating.

virtual bool IsBeingEdited ( ) const
virtual

Returns true if this curve is being edited.

virtual NURBSCurve* Spline ( ) const
virtual

Returns the internal spline representation if it exists.

Returns NULL if spline does not exist. Makes IsSpline somewhat redundant.

virtual int ToSplineIndex ( int  iPointIndex) const
virtual
virtual bool IsSpline ( void  ) const
virtual

Returns true if a NURBS representation exists for this Curve.

virtual void ProjectPoint ( const Vector vPoint,
Vector vResult 
) const
virtual

Project a point onto the curve.

virtual void SetCurveType ( enum CurveType  ct)
virtual

Sets the curve type. Can be 3D or 2D. At this time, only affects how curve is edited and rendered.

virtual enum CurveType CurveType ( ) const
virtual

Returns the Curve type.

virtual NURBSCurve* FalloffCurve ( )
virtual

Returns the fall off curve used for certain operations on this Curve.

Member Data Documentation

QList<CurvePoint> m_vPoints
protected

Using QList for storage.

Ultimately not the fastest method of storing but allows faster insert & deletions of points.

Definition at line 205 of file curve.h.

enum CurveType m_eCurveType
protected

Definition at line 206 of file curve.h.


The documentation for this class was generated from the following file: