mudbox Namespace Reference

Namespace description

Class: ConvolutionKernel.

This class can implement a general square convolution kernel, or can generate one procedurally.

The procedural Kernel generator implements a 2D gaussian shaped image sharpening (or blurring kernel). The type of sharpening performed is typically called unsharp masking. The filter weights are detemined by the formula:

               2    2              2        2
        -( ( dx + dy ) / (2 * sigma * radius ) )
      e

where: dx = x distance from center of kernel dy = y distance from center of kernel

This creates a circularly symmetric, Gaussian shapped kernel. The filter weights are then normalized so their sum = 1.0 and to produce an output that computes:

         (1+sharpness)*I - sharpness*G

where I is the original image G is the orignal image with the gausing kernel applied.

Here are some example kernels with the default sharpness factor, 0.5, for various radii:

                           -0.00002 -0.0006 -0.0020 -0.0006 -0.00002

-0.00006 -0.0053 -0.00006 -0.0006 -0.0189 -0.0581 -0.0189 -0.0006 -0.0053 1.0215 -0.0053 -0.0020 -0.0581 1.3210 -0.0581 -0.0020 -0.00006 -0.0053 -0.00006 -0.0006 -0.0189 -0.0581 -0.0189 -0.0006 -0.00002 -0.0013 -0.0020 -0.0013 -0.00002

Radius = 1 Radius = 2

The default kernel is:

                    -0.0057 -0.0419 -0.0057
                    -0.0419  1.1903 -0.0419
                    -0.0057 -0.0419 -0.0057

The sharpness typically ranges from -1 for maximum blur (makeing a standard gaussian blur), to 0 for no effect, to positive values up to about 10 for various degrees of sharpening. Values greater than 1 create a very pronounced sharpening effect. The radius can be any non-negative value. A radius of zero will perform no filtering, while successively larger values will filter lower and lower frequencies. The actual kernel size is determined by the formula:

         width,height = 1 + 2*(int)radius

Thus, a radius of 1.5 (the default) will create a 3x3 kernel.

Typically the parameters you would use for:

Low Sharpen – Sharpness = 5.0, Radius = 1.5 Medium Sharpen – Sharpness = 7.5, Radius = 1.75 High Sharpen – Sharpness = 10.0, Radius = 2.0

For a Sharpen tool, the typical ranges would be 0.0 to 10.0 for Sharpness, and 1.0 to 4.0 for Radius

Blur values would be as follows:

Low Blur – Sharpness = -1.0, Radius = 3.0 Medium Blur – Sharpness = -1.0, Radius = 8.0 High Blur – Sharpness = -1.0, Radius = 32.0

For a blur tool, the Sharpness value would be fixed at -1.0, and the typical range for the user to select radius would be 1.0 to 32.0. The blur kernels generated by this class are seperable.

Classes

class  AbstractCurvePicker
 
class  Action
 This class represents an action which can be triggered by the user. More...
 
class  AddGeometryOperation
 This Operation adds geometries to the current scene. More...
 
class  AdjacentVertexEnumerator
 AdjacentVertexEnumerator is a base class for operations that must be applied to all vertices adjacent to a specified one. More...
 
class  Array
 An internal helper class, representing an array. Use the Store class instead. More...
 
struct  Attribute
 This is an abstract base structure for all attributes. More...
 
class  AttributeBoolCollection
 This attribute is a collection of bools. More...
 
class  AttributeCheckableFloat
 
class  AttributeCheckableFloatArray
 
class  AttributeCheckbox
 A widget which is used to display and alter the value for a bool attribute. More...
 
class  AttributeCheckboxCollection
 A widget used to display and alter the value for a bool collection attribute. More...
 
class  AttributeColorbox
 
class  AttributeCombobox
 A widget used to display and alter the value for an enum attribute. More...
 
class  AttributeComboboxMap
 
class  AttributeCurveEditor
 An attribute widget for displaying and interacting with multiple curve editors. More...
 
class  AttributeCurvePointer
 
class  AttributeEditbox
 
class  AttributeEnumeration
 This attribute is very similar to the aint type but on the user interface it will be displayed as a combobox, and the user will be able to choose its value from a list. More...
 
class  AttributeEventbox
 
class  AttributeFilename
 Similar to AttributeInstance<String> but it provides a button on the interface where the user can browse for a filename. More...
 
class  AttributeFilenamebox
 A widget used to display and alter the value for a filename attribute. More...
 
class  AttributeFloatRange
 This attribute represents a float value which has a minimum and a maximum value. More...
 
class  AttributeImagebox
 A widget used to display and alter the value for an image attribute. More...
 
struct  AttributeInstance
 This is a generic attribute which can be used instead of the standard built in types. More...
 
class  AttributeLocale
 
class  AttributeMirrorConfigurationWidget
 An attribute widget for setting the brush mirror mode. More...
 
class  AttributeNumber
 An attribute that can hold a number and uses the specified number of digits when displaying on the UI. More...
 
class  AttributePointer
 This class can be used instead of standard pointers, when the pointer target class is derived from the Node class. More...
 
class  AttributePointerbox
 A widget used to display and alter the value for a pointer attribute. More...
 
class  AttributeSign
 
class  AttributeSliderArrayWithCheckbox
 A widget which is used to display and alter some values for a bool attribute. More...
 
class  AttributeSliderbox
 A widget which used to display and alter the value for a float range attribute. More...
 
class  AttributeSliderWithCheckbox
 A widget which is used to display and alter the value for a bool attribute. More...
 
class  AttributeSpinbox
 
class  AttributeStampConfigurationWidget
 
class  AttributeTextureFilename
 Represents a special file name attribute that accepts texture files as value. Provides a create new and a browse interface. More...
 
class  AttributeTextureFilenamebox
 A widget which is used to display and alter the value for a texture attribu. More...
 
class  AttributeThisPointer
 
class  AttributeVector4box
 A widget used to display and alter the value for a four dimensional vector attribute. More...
 
class  AttributeVectorbox
 
class  AttributeVoid
 Used to insert expanded category item. More...
 
class  AttributeWatch
 A fake attribute used to watch an attribute in your class which is not a member. More...
 
class  AttributeWidget
 
class  AxisAlignedBoundingBox
 Represents a bounding box whose axes are aligned with the coordinate system. More...
 
class  Base
 Represents a local coordinate basis comprising three axes that define a coordinate system. More...
 
class  Block
 An internal helper class, representing a block of memory. Use the Store class instead. More...
 
class  BrushConfiguration
 This class can be used to define configurations for different brush behaviours of the same class. More...
 
struct  BrushMask
 This class can be used for masking out areas from the brush effect. More...
 
class  BrushOperation
 The BrushOperation class is the base class for brush functionality. More...
 
struct  BrushStamp
 A masking image aligned to a mesh surface. More...
 
struct  BrushStencil
 A masking image attached to a camera. More...
 
class  Camera
 Represents a camera (point of view) in a Mudbox scene. More...
 
class  CheckableFloat
 A container class that holds a boolean and a float value. More...
 
struct  CheckableFloatArray
 
class  ClassDesc
 This structure represents and describes a class. More...
 
class  Color
 Represents a color with four components: red, green, blue, alpha. More...
 
class  ConvolutionKernel
 
class  CPBox
 
class  CurveBase
 Base class for Curve types. More...
 
class  CurveEditor
 
class  CurveOperator
 Internal class only, do not use. More...
 
class  CurvePicker
 
struct  CurvePoint
 
class  DblVector
 Represents a 3D vector or point with S56E11 floating point elements. More...
 
class  DeleteGeometryOperation
 This Operation deletes geometries from the current scene. More...
 
class  DualQuaternion
 The DualQuaternion class is used to represent rigid transformations in most cases. More...
 
class  EnlargedCurveEditor
 This dialog allows an AttributeCurveEditor to be resizable in order to manipulate its curve more easily. More...
 
class  EnvironmentMap
 
class  Error
 Holds information about an error. More...
 
class  EventGate
 This class represents an event receiver/triggerer point. More...
 
class  Exporter
 This class is the base class for plugins that export mesh geometry from Mudbox. More...
 
class  ExtendableStore
 This class is similar to Store, except that adding elements to the end of the array is guaranteed to be a constant-time operation. More...
 
class  FaceEnumerator
 FaceEnumerator is a base class for operations that must be applied across mesh faces. More...
 
class  FileEventNotifier
 Holds information about the a recent or in-progress file event. More...
 
class  FileExtension
 This class encapsulates the file extension information for importers & exporeters. More...
 
class  float16Channel
 The data type for a 16 bit float image channel. More...
 
class  float32Channel
 
struct  GenericFace
 Contains generic polygon representation. More...
 
class  Geometry
 Represents a 3d object in the scene. More...
 
class  GroupNode
 This is the base class for all nodes that are transformable objects in the Mudbox scene. More...
 
class  half_
 Half precision (16 bit) float class. More...
 
class  HelpButton
 A widget for accessing the context sensitive help. More...
 
class  Image
 This is the base image type defining the interface to images. More...
 
class  ImageAccessor
 
class  ImageAccessor< ChannelType, 1 >
 
class  ImageAccessor< ChannelType, 2 >
 
class  ImageAccessor< ChannelType, 3 >
 
class  ImageAccessorBase
 The ImageAccessorBase class gives you very fast access to pixels when the data type and channel count of an image are known at compile time (and this is very often the case.) More...
 
class  ImageDescriptor
 Describe an image, specifically how to interpret pixel data. More...
 
class  ImageFilter
 This is the base image filter type defining the interface to image filters (blur, sharpen, dodge, burn, etc). More...
 
class  ImageIOHandler
 This class is the base class for external Image handlers. More...
 
class  ImagePlaneInterface
 
class  ImgDirtyRegion
 Implement a somewhat smarter image region that a simple rectangle. More...
 
class  ImgLockPageIterator
 Iterate over a specified region of an image in optimal order, and locking it in CPU memory. More...
 
class  ImgPageIterator
 Iterates over a specified region of an image in optimal order. More...
 
class  ImgTile
 Represents a rectangle. Used to specify rectangular regions of an image. More...
 
class  ImgTile_AoutB_Iter
 Iterates over a the region of tile A that is outside tile B. More...
 
class  ImgTileUnion
 
class  Importer
 This class is the base class for plugins that import geometry into Mudbox. More...
 
class  Instance
 This is a helper class to manage class instances implemented in plugins, provided for convenience. More...
 
class  Interface
 The Interface class provides access to user interface related functions and events. More...
 
class  Kernel
 The main API access point to Mudbox, contains low level functions and data. More...
 
class  KeyboardEventNotifier
 
class  Layer
 This is the base class for anything which is an element of a list with a fixed order and a transparency value assigned to each element. More...
 
class  LayerContainer
 This class contains and manages a list of Layers. More...
 
class  LayerGroup
 LayerGroup acts as a logical sub-container for the layers, it does not own the these layers. More...
 
class  LayerMeshData
 This class represents a Sculpt Layer. More...
 
class  Light
 Represents a light source in the scene. More...
 
class  Line
 Represents a line segment in 3d space. More...
 
class  Material
 Describes a material of a geometry including its surface colors, transparency and texture information. More...
 
class  Matrix
 This class represents a 4x4 transformation matrix. More...
 
class  MBCrashInfo
 
class  MBCrashReporterFlag
 
class  Mesh
 A Mesh is a collection of vertices organized into faces, and optional Texture Coordinate information. More...
 
class  MeshChange
 This class represents a change to a mesh, and is used when an operation which modifies mesh vertices should be undoable. More...
 
class  MeshFreezer
 Generic base interface for classes implementing a freeze function. More...
 
class  MeshGrid
 The MeshGrid class is an interface for dividing the surface of a mesh to grids. More...
 
class  MeshPartitioning
 This object is used to manage a roughly spatially coherent partitioning of the mesh. More...
 
class  MeshRenderer
 This is the base class for a renderer implementation, which transforms a mesh into the opengl pipeline. More...
 
class  MeshSelector
 Generic base interface for classes implementing a face based selection. More...
 
class  MeshUnlocker
 This object is used to manage the lock on a mesh. More...
 
class  MirrorComboBox
 MirrorComboBox is a QComboBox that emits a signal when it loses keyboard focus. More...
 
struct  MirrorConfiguration
 The structure contains information about mirroring of the operation. More...
 
class  MudboxCurve
 
class  Node
 This is the base class for most classes in the Mudbox SDK. More...
 
struct  Normal
 Normal vector with 16 bit components. More...
 
class  NURBSCurve
 
class  NURBSCurveEditor
 
class  Operation
 The base class of all operations. More...
 
class  PaintLayerExporter
 This class is the base class for exporting paint layers. More...
 
class  PaintLayerImporter
 This class is the base class for paint layer importers. More...
 
class  Picker
 Picker objects are used as part of the map extraction process, to find points on one mesh that most closely correspond to points on another. More...
 
class  PixelDescriptor
 Describe an image pixel; how to interpret a piece of pixel data. More...
 
class  PixelType
 A templated pixel type class, where the channel type and number of channels are arguments. More...
 
struct  Plugin
 This class holds all the information Mudbox needs about a plugin. More...
 
class  Preferences
 Holds Mudbox application preferences. More...
 
class  QuadTurtle
 
class  Quaternion
 The Quaternion class is used to represent rotations in most cases. More...
 
class  RenderTarget
 RenderTarget is an abstraction of an OpenGL renderbuffer object. More...
 
class  ReplaceGeometryOperation
 This Operation replaces one geometry with another. More...
 
class  Scene
 The Scene class is the container object for all the data in a Mudbox scene. More...
 
class  SceneMembershipEventNotifier
 Holds information about the a recent or in-progress scene membership event. More...
 
class  ScreenSpacePicker
 ScreenSpacePicker objects are used to translate the user action of clicking in the view into a picked point on the surface of a mesh. More...
 
class  SelectAllOperation
 This Operation selects/deselects all objects. More...
 
class  SelectionSet
 This class represents a collection of faces among one or more mesh objects. More...
 
class  Selector
 This base class represents any shape in 3d space. More...
 
class  SetVisibilityOperation
 This Operation sets the visibility of nodes in the scene. More...
 
class  SpatialGrid
 The SpatialGrid class is an interface for dividing the space of a mesh to grids/cells/voxels. More...
 
struct  StampConfiguration
 Container class for stamp related properties and functions. More...
 
class  Statistics
 Holds useful information about the current session of Mudbox. More...
 
class  Store
 Simple array class. More...
 
struct  StoredVertexInfo
 StoredVertexInfo is used to store vertex change information. More...
 
class  Stream
 Streams are used to read information from a file, or to write it to a file. More...
 
struct  SubdivisionInfo
 
class  SubdivisionLevel
 Represents one level of subdivision details in a geometry. More...
 
class  SubSpace
 This class will be removed from the SDK. More...
 
struct  SurfacePoint
 Describes a location somewhere on the surface of a Mesh. More...
 
class  SurfaceSmoother
 This is an interface for a SurfaceSmoother object, which is responsible to provide information about the limit surface of a mesh. More...
 
class  TangentGenerator
 TangentGenerator is a class that defines the tangent space used by Mesh objects. More...
 
struct  TC
 Represents Texture Coordinates (UVs) in the mesh. More...
 
class  Texture
 Represents a texture tile inside a texture pool. More...
 
class  TextureMixer
 Represents a texture mixer. More...
 
class  TexturePool
 This is a container class for simple textures. More...
 
class  TextureTileArray
 This class describes a 2D array of texture tiles. More...
 
class  TextureUnprojector
 This class will extract the unprojected current diffuse texture layer from the current camera position – the texture will be resident on the GPU when this is complete. More...
 
class  Timer
 please do not access this pointer directly — Use the inline Kernel() function just below. More...
 
class  Topology
 Represents the topology data of a mesh, providing information about the structure of a surface, e.g. how faces are layed down. More...
 
class  TopologyChange
 
class  TransferDetailOperation
 This Operation transfers the sculpting detail from one mesh to another. More...
 
class  Transformation
 A Transformation is a node in the Mudbox scene that controls the size and position of other nodes, such as lights, cameras, or polygon meshes. More...
 
class  TransformationPalette
 This object provides additional transformations for a mesh (skinning) More...
 
class  TrayAccessor
 TrayAccessor allows plugins to access the trays in the GUI. More...
 
class  TreeNode
 This class is the base of all node types that can be structured in a hierarchy. More...
 
class  uInt16Channel
 The data type for a 16 bit image channel. 0-65535 maps to 0.0 to 1.0. More...
 
class  uInt8Channel
 The data type for a 8 bit image channel. More...
 
class  UnitTest
 Base class for unit test objects. More...
 
class  Utility
 This class is collects miscellaneous utility functions. More...
 
class  Vector
 Represents a 3D vector or point with S23E8 floating point elements. More...
 
class  Vector4
 A four dimensionsional vector (X, Y, Z, and W) More...
 
struct  Vertex
 Represents a vertex point on a Mesh with its associated data. More...
 
struct  VertexAdjacency
 Represents face adjacency data for a vertex. More...
 
class  VertexDataProvider
 This interface can be used to provide additional vertex data for the rendering. More...
 
class  VertexEnumerator
 A base class for operations that must be applied across mesh vertices. More...
 
class  ViewPort
 Represents the 3D viewport where Mudbox renders the scene. More...
 
class  ViewPortFilter
 ViewPortFilters are post-processes that are applied to the rendered scene before display. More...
 
struct  ViewPortState
 Holds all the information about the current viewport state, used by ViewPortFilter objects. More...
 
class  WebBrowserPlugin
 WebBrowserPlugin is a base class to implement the web browser based plugins. More...
 
class  WindowPlugin
 WindowPlugin is an interface to implement window based plugins. More...
 
class  XRef
 XRef provides functionality to resolve relative paths to external files into absolute paths. More...
 

Typedefs

typedef AttributeInstance< MirrorConfigurationamirrorcfg
 
typedef AttributeInstance< StampConfigurationastampcfg
 
typedef unsigned char uInt8
 
typedef unsigned short uInt16
 
typedef bool(* ProxyInterruptFunction) (void)
 Proxy generation is interruptible. More...
 
typedef QString(* DumpFcnTyp) (void)
 
typedef AttributeInstance< Vectoravector
 
typedef AttributeInstance< Vector4avector4
 
typedef AttributeInstance< Coloracolor
 
typedef AttributeInstance< Matrixamatrix
 This attribute class represents a 4x4 transformation matrix. More...
 
typedef AttributeCheckableFloat acheckablefloat
 
typedef long long int64
 
typedef unsigned long long uint64
 
typedef AttributeVoid avoid
 
typedef AttributeInstance< intaint
 This type has to be used instead of the general int type. More...
 
typedef AttributeInstance< float > afloat
 This type has to be used instead of the general float type. More...
 
typedef AttributeInstance< bool > abool
 This type has to be used instead of the general bool type. More...
 
typedef AttributeInstance< QStringastring
 This type has to be used instead of the String type. More...
 
typedef EventGate aevent
 
typedef AttributeFloatRange afloatr
 
typedef AttributeNumber anumber
 
typedef AttributeEnumeration aenum
 
typedef AttributeFilename afilename
 
typedef AttributeTextureFilename atexturefilename
 
typedef AttributeBoolCollection aboolc
 
typedef AttributeCurvePointer acurveptr
 
typedef NodeNodePointer
 
typedef short int tnormal
 Type of one component in a normal vector. More...
 
typedef unsigned long long tnormalv
 Type of the whole normal vector. More...
 

Enumerations

enum  MirrorMode {
  eMirrorNone, eMirrorX, eMirrorY, eMirrorZ,
  eMirrorLocalX, eMirrorLocalY, eMirrorLocalZ, eMirrorTangent
}
 Possible values for the brush mirror attribute. More...
 
enum  NodeEventType {
  etValueChanged, etSourceChanged, etTargetChanged, etPointerContentChanged,
  etPointerTargetDestroyed, etStatusChanged, etPointerTargetUIChanged, etDeferred,
  etRefreshDialogUI, etEditingFinished, etEventTriggered = etValueChanged
}
 Possible event types when Node::OnNodeEvent is called. More...
 
enum  TiffCompression { eTiffNoCompression = 0, eTiffLZWCompression = 1, eTiffDeflateCompression = 2 }
 
enum  LinearUnits { eMillimeter, eCentimeter, eMeter, eInch }
 
enum  SelectionMode { ePaint = 0, eRectangle, eLasso }
 
enum  InactiveLevelDisplay { eNone, eHide, eShade }
 

Functions

void MBDLL_DECL QuickSort (void *pBase, unsigned int iNum, unsigned int iSize, int(*fComparator)(const void *, const void *))
 
MBDLL_DECL AttributeWidgetCreateNewMirrorConfigurationWidget (QWidget *pParent, int iWidth, amirrorcfg *pAttribute)
 
MBDLL_DECL AttributeWidgetCreateNewStampConfigurationWidget (QWidget *pParent, int iWidth, astampcfg *pAttribute)
 
Vector MBDLL_DECL WindowPositionNormalized (const MudboxCurve *pCurve, int iIndex)
 Return the position of the specific point inside viewport in the 0-1 range. More...
 
Vector MBDLL_DECL WindowPosition (const MudboxCurve *pCurve, int iIndex)
 Return the position of the specific point inside viewport according to the current viewport size in pixel. More...
 
MBDLL_DECL AttributeWidgetCreateNewImageWidget (QWidget *pParent, int iWidth, AttributePointer< Image > *pImage)
 
static void SnapOutTile (ImgTile &t)
 Snaps a tile out to 128 pixel aligned boundaries. More...
 
MBDLL_DECL class KernelKernel (void)
 Returns a pointer to the instance of the singleton mudbox kernel object. More...
 
template<typename c >
cCreateInstance (void)
 This function provides an easy way to create objects based on interfaces. More...
 
MBDLL_DECL Vector operator* (float f, const Vector &v) throw ()
 Multiplies a float scalar value by a vector, the result is a vector. More...
 
MBDLL_DECL Vector operator* (int i, const Vector &v) throw ()
 Multiplies an integer scalar value by a vector, the result is a vector. More...
 
MBDLL_DECL DblVector operator* (double f, const DblVector &v) throw ()
 Multiplies a float scalar value by a vector, the result is a vector. More...
 
MBDLL_DECL DblVector operator* (int i, const DblVector &v) throw ()
 Multiplies an integer scalar value by a vector, the result is a vector. More...
 
MBDLL_DECL AttributeWidgetCreateNewVectorWidget (QWidget *pParent, int iWidth, avector *pAttribute)
 
MBDLL_DECL AttributeWidgetCreateNewVector4Widget (QWidget *pParent, int iWidth, avector4 *pAttribute)
 
Color operator* (float f, const Color &c)
 Multiplies a scalar float value by a Color. More...
 
MBDLL_DECL AttributeWidgetCreateNewColorWidget (QWidget *pParent, int iWidth, acolor *pAttribute)
 
MBDLL_DECL Vector operator* (const Vector &v, const Matrix &m)
 
MBDLL_DECL Vector operator* (const Matrix &m, const Vector &v)
 
MBDLL_DECL AttributeWidgetCreateNewCheckableFloatWidget (QWidget *pParent, int iWidth, AttributeCheckableFloat *pAttribute)
 
MBDLL_DECL AttributeWidgetCreateNewCheckableFloatArrayWidget (QWidget *pParent, int iWidth, class AttributeCheckableFloatArray *pAttribute)
 
static bool FloatEqual (float A, float B, const int max_ulps=4)
 compares floats for equality with a tolerance expressed in Units of Least Precision. More...
 
static bool FloatGreaterOrEqual (float A, float B, const int max_ulps=4)
 compares floats for >= with a tolerance expressed in Units of Least Precision. More...
 
static bool FloatLessOrEqual (float A, float B, const int max_ulps=4)
 compares floats for <= with a tolerance expressed in Units of Least Precision. More...
 
template<typename type >
type Min (type a, type b)
 
template<typename type >
type Max (type a, type b)
 
bool MBDLL_DECL AssertFailed (const char *sSourceFile, int iSourceLine, const char *sCondition, const char *sMessage, bool *bShow)
 
float MBDLL_DECL Modf (float value)
 
MBDLL_DECL AttributeWidgetCreateNewPtrWidget (QWidget *pParent, int iWidth, Attribute *pAttribute, const ClassDesc *pType)
 
MBDLL_DECL AttributeWidgetCreateNewBoolWidget (QWidget *pParent, int iWidth, abool *pAttribute)
 
MBDLL_DECL AttributeWidgetCreateNewIntWidget (QWidget *pParent, int iWidth, aint *pAttribute)
 
template<typename type >
bool operator== (const Attribute &cA, const AttributeInstance< type > &cB)
 This operator compares the two attributes and NOT their values. More...
 
template<typename type >
Streamoperator== (Stream &s, AttributeInstance< type > &c)
 
template<typename type >
Streamoperator== (Stream &cStream, AttributePointer< type > &cPointer)
 
AttributeWidgetCreateNewEventWidget (QWidget *pParent, int iWidth, EventGate *pAttribute)
 Creates an event widget. More...
 
MBDLL_DECL Streamoperator== (Stream &s, afloatr &a)
 
MBDLL_DECL Streamoperator== (Stream &s, aenum &a)
 
MBDLL_DECL Streamoperator== (Stream &s, afilename &a)
 
MBDLL_DECL AttributeWidgetCreateNewCurveWidget (QWidget *pParent, int iWidth, Attribute *pAttribute, bool bAddSnapAndStoreTo=true, bool bInAdjustColor=false)
 
template<typename type >
Streamoperator== (Stream &s, type &v)
 Serializes any data type to/from the stream. More...
 
template<typename type >
Streamoperator== (Stream &s, const type &v)
 

Variables

class MBDLL_DECL Kernel
 

Typedef Documentation

Definition at line 167 of file brush.h.

Definition at line 212 of file brush.h.

typedef unsigned char uInt8

Definition at line 87 of file image.h.

typedef unsigned short uInt16

Definition at line 88 of file image.h.

typedef bool(* ProxyInterruptFunction) (void)

Proxy generation is interruptible.

During proxy gen, at points where interrupting would be safe, it will call the Interrupt query fcn if it is non null. If the function returns true, the proxy generation will be aborted, and the proxy generation function will return false. The proxy image will not be created. Any work done in this function should complete very quickly. (budget no more than 10 milliseconds)

Definition at line 1474 of file image.h.

typedef QString(* DumpFcnTyp) (void)

Definition at line 200 of file kernel.h.

Definition at line 588 of file math.h.

Definition at line 643 of file math.h.

Definition at line 806 of file math.h.

This attribute class represents a 4x4 transformation matrix.

Definition at line 1292 of file math.h.

Definition at line 1688 of file math.h.

typedef long long int64
+ Examples:

Definition at line 173 of file mudbox.h.

typedef unsigned long long uint64

Definition at line 177 of file mudbox.h.

Definition at line 386 of file node.h.

This type has to be used instead of the general int type.

Definition at line 524 of file node.h.

typedef AttributeInstance<float> afloat

This type has to be used instead of the general float type.

Definition at line 529 of file node.h.

typedef AttributeInstance<bool> abool

This type has to be used instead of the general bool type.

+ Examples:

Definition at line 531 of file node.h.

This type has to be used instead of the String type.

Definition at line 533 of file node.h.

typedef EventGate aevent

Definition at line 1015 of file node.h.

Definition at line 1053 of file node.h.

Definition at line 1067 of file node.h.

Definition at line 1122 of file node.h.

Definition at line 1143 of file node.h.

Definition at line 1153 of file node.h.

Definition at line 1190 of file node.h.

Definition at line 161 of file nurbs.h.

typedef Node* NodePointer

Definition at line 17 of file stream.h.

typedef short int tnormal

Type of one component in a normal vector.

Definition at line 20 of file topology.h.

typedef unsigned long long tnormalv

Type of the whole normal vector.

Definition at line 22 of file topology.h.

Enumeration Type Documentation

enum MirrorMode

Possible values for the brush mirror attribute.

See also
MirrorConfiguration
Enumerator
eMirrorNone 

No mirror.

eMirrorX 

Mirror on global X axis.

eMirrorY 

Mirror on global Y axis.

eMirrorZ 

Mirror on global Z axis.

eMirrorLocalX 

Mirror on local X axis.

eMirrorLocalY 

Mirror on local Y axis.

eMirrorLocalZ 

Mirror on local Z axis.

eMirrorTangent 

Mirror using topology symmmetry.

Definition at line 79 of file brush.h.

80 {
84  eMirrorX,
86  eMirrorY,
88  eMirrorZ,
97 };
No mirror.
Definition: brush.h:82
Mirror on global Y axis.
Definition: brush.h:86
Mirror on global X axis.
Definition: brush.h:84
Mirror on local Z axis.
Definition: brush.h:94
Mirror using topology symmmetry.
Definition: brush.h:96
Mirror on local Y axis.
Definition: brush.h:92
Mirror on local X axis.
Definition: brush.h:90
Mirror on global Z axis.
Definition: brush.h:88

Possible event types when Node::OnNodeEvent is called.

Enumerator
etValueChanged 

Value of an attribute is changed.

etSourceChanged 

The attribute is relinked to another attribute, so source is changed.

etTargetChanged 

A new attribute is linked to this one, or a link is removed.

etPointerContentChanged 

This is valid only for pointer type attributes (See AttributePointer). This is posted when the target node of the pointer is changed (See Node::ContentChanged())

etPointerTargetDestroyed 

This is valid only for pointer type attributes (See AttributePointer). The target node of the pointer is about to destroyed.

etStatusChanged 

Status of the attribute is changed (See SetConst()).

etPointerTargetUIChanged 

UI data in attributes are changed.

etDeferred 

Previously requested deferred event.

etRefreshDialogUI 

Causes entire dialog to refresh its UI.

Should be used at the end of a batch job.

etEditingFinished 

Indicates that the editing is finished on the attribute by the user.

etEventTriggered 

An event triggered.

+ Examples:

Definition at line 148 of file node.h.

149 {
165  etDeferred,
173 };
Causes entire dialog to refresh its UI.
Definition: node.h:168
The attribute is relinked to another attribute, so source is changed.
Definition: node.h:153
Indicates that the editing is finished on the attribute by the user.
Definition: node.h:170
This is valid only for pointer type attributes (See AttributePointer). This is posted when the target...
Definition: node.h:157
Value of an attribute is changed.
Definition: node.h:151
A new attribute is linked to this one, or a link is removed.
Definition: node.h:155
Previously requested deferred event.
Definition: node.h:165
UI data in attributes are changed.
Definition: node.h:163
This is valid only for pointer type attributes (See AttributePointer). The target node of the pointer...
Definition: node.h:159
An event triggered.
Definition: node.h:172
Status of the attribute is changed (See SetConst()).
Definition: node.h:161
Enumerator
eTiffNoCompression 
eTiffLZWCompression 
eTiffDeflateCompression 

Definition at line 25 of file preferences.h.

Enumerator
eMillimeter 
eCentimeter 
eMeter 
eInch 

Definition at line 32 of file preferences.h.

Enumerator
ePaint 
eRectangle 
eLasso 

Definition at line 40 of file preferences.h.

Enumerator
eNone 
eHide 
eShade 

Definition at line 47 of file preferences.h.

48 {
49  eNone,
50  eHide,
51  eShade
52 };

Function Documentation

void MBDLL_DECL mudbox::QuickSort ( void pBase,
unsigned int  iNum,
unsigned int  iSize,
int(*)(const void *, const void *)  fComparator 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewMirrorConfigurationWidget ( QWidget pParent,
int  iWidth,
amirrorcfg pAttribute 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewStampConfigurationWidget ( QWidget pParent,
int  iWidth,
astampcfg pAttribute 
)
Vector MBDLL_DECL mudbox::WindowPositionNormalized ( const MudboxCurve pCurve,
int  iIndex 
)

Return the position of the specific point inside viewport in the 0-1 range.

Left-bottom [0,0], right-top [1,1]. If function fail, Vector(-1,-1,-1) is returned.

Vector MBDLL_DECL mudbox::WindowPosition ( const MudboxCurve pCurve,
int  iIndex 
)

Return the position of the specific point inside viewport according to the current viewport size in pixel.

If function fail, Vector(-1,-1,-1) is returned.

MBDLL_DECL AttributeWidget* mudbox::CreateNewImageWidget ( QWidget pParent,
int  iWidth,
AttributePointer< Image > *  pImage 
)
static void mudbox::SnapOutTile ( ImgTile t)
inlinestatic

Snaps a tile out to 128 pixel aligned boundaries.

Definition at line 2924 of file image.h.

2925 {
2926  static const int TILE_SNAP = (128-1); // must be ((2^i)-1).
2927  t.nx += t.x - 1; t.ny += t.y - 1;
2928  t.x &= ~TILE_SNAP; t.y &= ~TILE_SNAP;
2929  t.nx += TILE_SNAP; t.ny += TILE_SNAP;
2930  t.nx &= ~TILE_SNAP; t.ny &= ~TILE_SNAP;
2931  t.nx -= t.x; t.ny -= t.y;
2932 }
GLdouble GLdouble t
Definition: GLee.h:1181
MBDLL_DECL class Kernel* mudbox::Kernel ( void  )
inline

Returns a pointer to the instance of the singleton mudbox kernel object.

Note: This cannot be relied upon in static constructors, as in C++ the order of execution of those ctors is undefined, and the Kernel object may not yet exist, or this pointer may not yet be initialized. (Both the Kernel and this pointer are initialized at static CTOR time.)

Definition at line 33 of file kernel.h.

34 {
36 };
MBDLL_DECL class mudbox::Kernel * _g_pKernel__DO_NOT_USE_THIS_DIRECTLY_
Definition: kernel.h:23
c* mudbox::CreateInstance ( void  )

This function provides an easy way to create objects based on interfaces.

Example:

Image *pMyImage = CreateInstance<Image>();

See Kernel::PreferredDescendant() funtion for more details.

Definition at line 576 of file kernel.h.

576 { return dynamic_cast<c *>( Kernel()->CreateClassInstance( c::StaticClass() ) ); };
const GLubyte * c
Definition: GLee.h:5419
Node * CreateClassInstance(const ClassDesc *pClass) const
Creates an instance of the preferred descendant of an interface class.
MBDLL_DECL class Kernel * Kernel(void)
Returns a pointer to the instance of the singleton mudbox kernel object.
Definition: kernel.h:33
MBDLL_DECL Vector mudbox::operator* ( float  f,
const Vector v 
)
throw (
)
inline

Multiplies a float scalar value by a vector, the result is a vector.

+ Examples:

Definition at line 575 of file math.h.

576 { return v*f; };
const GLdouble * v
Definition: GLee.h:1174
GLclampf f
Definition: GLee.h:9303
MBDLL_DECL Vector mudbox::operator* ( int  i,
const Vector v 
)
throw (
)
inline

Multiplies an integer scalar value by a vector, the result is a vector.

Definition at line 579 of file math.h.

580 { return float(i)*v; };
const GLdouble * v
Definition: GLee.h:1174
MBDLL_DECL DblVector mudbox::operator* ( double  f,
const DblVector v 
)
throw (
)
inline

Multiplies a float scalar value by a vector, the result is a vector.

Definition at line 583 of file math.h.

584 { return v*f; };
const GLdouble * v
Definition: GLee.h:1174
GLclampf f
Definition: GLee.h:9303
MBDLL_DECL DblVector mudbox::operator* ( int  i,
const DblVector v 
)
throw (
)
inline

Multiplies an integer scalar value by a vector, the result is a vector.

Definition at line 587 of file math.h.

588 { return double(i)*v; };
const GLdouble * v
Definition: GLee.h:1174
MBDLL_DECL AttributeWidget* mudbox::CreateNewVectorWidget ( QWidget pParent,
int  iWidth,
avector pAttribute 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewVector4Widget ( QWidget pParent,
int  iWidth,
avector4 pAttribute 
)
Color mudbox::operator* ( float  f,
const Color c 
)
inline

Multiplies a scalar float value by a Color.

Definition at line 805 of file math.h.

806 { return Color( c.r*f, c.g*f, c.b*f, c.a*f ); };
const GLubyte * c
Definition: GLee.h:5419
GLclampf f
Definition: GLee.h:9303
MBDLL_DECL AttributeWidget* mudbox::CreateNewColorWidget ( QWidget pParent,
int  iWidth,
acolor pAttribute 
)
MBDLL_DECL Vector mudbox::operator* ( const Vector v,
const Matrix m 
)
inline

Definition at line 1601 of file math.h.

1602 {
1603  return Vector(
1604  v.m_fX*m._11+v.m_fY*m._21+v.m_fZ*m._31+m._41,
1605  v.m_fX*m._12+v.m_fY*m._22+v.m_fZ*m._32+m._42,
1606  v.m_fX*m._13+v.m_fY*m._23+v.m_fZ*m._33+m._43 );
1607 };
const GLdouble * v
Definition: GLee.h:1174
MBDLL_DECL Vector mudbox::operator* ( const Matrix m,
const Vector v 
)
inline

Definition at line 1609 of file math.h.

1610 {
1611  return Vector(
1612  v.m_fX*m._11+v.m_fY*m._12+v.m_fZ*m._13+m._14,
1613  v.m_fX*m._21+v.m_fY*m._22+v.m_fZ*m._23+m._24,
1614  v.m_fX*m._31+v.m_fY*m._32+v.m_fZ*m._33+m._34 );
1615 };
const GLdouble * v
Definition: GLee.h:1174
MBDLL_DECL AttributeWidget* mudbox::CreateNewCheckableFloatWidget ( QWidget pParent,
int  iWidth,
AttributeCheckableFloat pAttribute 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewCheckableFloatArrayWidget ( QWidget pParent,
int  iWidth,
class AttributeCheckableFloatArray pAttribute 
)
static bool mudbox::FloatEqual ( float  A,
float  B,
const int  max_ulps = 4 
)
inlinestatic

compares floats for equality with a tolerance expressed in Units of Least Precision.

Does not support Nan != Nan. max_ulps must be positive, and not too large.

Definition at line 1773 of file math.h.

1774 {
1775  int a = *(int*)&A; // load the float bits into integers
1776  int b = *(int*)&B;
1777  // floats have a sign bit, convert to 2's compliment
1778  if (a < 0) a = 0x80000000 - a; // correctly handles 0 vs -0 and
1779  if (b < 0) b = 0x80000000 - b; // positive and negative denormals
1780  return (abs(a - b) <= max_ulps);
1781 }
GLubyte GLubyte b
Definition: GLee.h:5404
GLubyte GLubyte GLubyte a
Definition: GLee.h:5404
static bool mudbox::FloatGreaterOrEqual ( float  A,
float  B,
const int  max_ulps = 4 
)
inlinestatic

compares floats for >= with a tolerance expressed in Units of Least Precision.

Does not support Nan != Nan. max_ulps must be positive, and not too large.

Definition at line 1787 of file math.h.

1788 {
1789  int a = *(int*)&A; // load the float bits into integers
1790  int b = *(int*)&B;
1791  // floats have a sign bit, convert to 2's compliment
1792  if (a < 0) a = 0x80000000 - a; // correctly handles 0 vs -0 and
1793  if (b < 0) b = 0x80000000 - b; // positive and negative denormals
1794  return (a - b) >= -max_ulps;
1795 }
GLubyte GLubyte b
Definition: GLee.h:5404
GLubyte GLubyte GLubyte a
Definition: GLee.h:5404
static bool mudbox::FloatLessOrEqual ( float  A,
float  B,
const int  max_ulps = 4 
)
inlinestatic

compares floats for <= with a tolerance expressed in Units of Least Precision.

Does not support Nan != Nan. max_ulps must be positive, and not too large.

Definition at line 1801 of file math.h.

1802 {
1803  return FloatGreaterOrEqual(B, A, max_ulps);
1804 }
static bool FloatGreaterOrEqual(float A, float B, const int max_ulps=4)
compares floats for >= with a tolerance expressed in Units of Least Precision.
Definition: math.h:1787
type mudbox::Min ( type  a,
type  b 
)
inline
+ Examples:

Definition at line 184 of file mudbox.h.

184 { return a < b ? a : b; };
GLubyte GLubyte b
Definition: GLee.h:5404
GLubyte GLubyte GLubyte a
Definition: GLee.h:5404
type mudbox::Max ( type  a,
type  b 
)
inline
+ Examples:

Definition at line 186 of file mudbox.h.

186 { return a > b ? a : b; };
GLubyte GLubyte b
Definition: GLee.h:5404
GLubyte GLubyte GLubyte a
Definition: GLee.h:5404
bool MBDLL_DECL mudbox::AssertFailed ( const char *  sSourceFile,
int  iSourceLine,
const char *  sCondition,
const char *  sMessage,
bool *  bShow 
)
float MBDLL_DECL mudbox::Modf ( float  value)
MBDLL_DECL AttributeWidget* mudbox::CreateNewPtrWidget ( QWidget pParent,
int  iWidth,
Attribute pAttribute,
const ClassDesc pType 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewBoolWidget ( QWidget pParent,
int  iWidth,
abool pAttribute 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewIntWidget ( QWidget pParent,
int  iWidth,
aint pAttribute 
)
bool mudbox::operator== ( const Attribute cA,
const AttributeInstance< type > &  cB 
)
inline

This operator compares the two attributes and NOT their values.

Returns true only if the two attribute instances are the same (See Node::OnNodeEvent).

+ Examples:

Definition at line 577 of file node.h.

578 {
579  return &cA == &cB;
580 };
Stream& mudbox::operator== ( Stream s,
AttributeInstance< type > &  c 
)
inline

Definition at line 583 of file node.h.

584 {
585  c.Serialize( s );
586  return s;
587 };
const GLubyte * c
Definition: GLee.h:5419
GLdouble s
Definition: GLee.h:1173
Stream& mudbox::operator== ( Stream cStream,
AttributePointer< type > &  cPointer 
)
inline

Definition at line 725 of file node.h.

725 { cPointer.AttributePointer<type>::Serialize( cStream ); return cStream; };
AttributeWidget* mudbox::CreateNewEventWidget ( QWidget pParent,
int  iWidth,
EventGate pAttribute 
)

Creates an event widget.

MBDLL_DECL Stream& mudbox::operator== ( Stream s,
afloatr a 
)
MBDLL_DECL Stream& mudbox::operator== ( Stream s,
aenum a 
)
MBDLL_DECL Stream& mudbox::operator== ( Stream s,
afilename a 
)
MBDLL_DECL AttributeWidget* mudbox::CreateNewCurveWidget ( QWidget pParent,
int  iWidth,
Attribute pAttribute,
bool  bAddSnapAndStoreTo = true,
bool  bInAdjustColor = false 
)
Stream& mudbox::operator== ( Stream s,
type v 
)
inline

Serializes any data type to/from the stream.

Definition at line 288 of file stream.h.

288 { if ( s.IsStoring() ) s << v; else s >> v; return s; };
const GLdouble * v
Definition: GLee.h:1174
GLdouble s
Definition: GLee.h:1173
Stream& mudbox::operator== ( Stream s,
const type v 
)
inline

Definition at line 291 of file stream.h.

291 { if ( s.IsStoring() ) s << v; else s >> *((type*)&v); return s; };
GLuint GLuint GLsizei GLenum type
Definition: GLee.h:872
const GLdouble * v
Definition: GLee.h:1174
GLdouble s
Definition: GLee.h:1173

Variable Documentation