Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OfPlugType Class Reference

Object Framework object plug. OfPlugType describes both object input (OfAttr) and output (OfOutput). More...

Inheritance diagram for OfPlugType:
CoreBaseObject CoreBaseType OfAttr OfOutput

Public Types

enum  Type {
  TYPE_BOOL = 0,
  TYPE_LONG,
  TYPE_DOUBLE,
  TYPE_STRING,
  TYPE_FILE,
  TYPE_REFERENCE,
  TYPE_OBJECT,
  TYPE_CURVE,
  TYPE_ACTION,
  TYPE_COUNT
}
 Type for all the plug values. More...
 
enum  Container {
  CONTAINER_SINGLE,
  CONTAINER_ARRAY,
  CONTAINER_LIST,
  CONTAINER_COUNT
}
 
enum  VisualHint {
  VISUAL_HINT_ENUM,
  VISUAL_HINT_COLOR,
  VISUAL_HINT_FILENAME_SAVE,
  VISUAL_HINT_FILENAME_OPEN,
  VISUAL_HINT_FOLDER,
  VISUAL_HINT_PERCENTAGE,
  VISUAL_HINT_SCALE,
  VISUAL_HINT_DISTANCE,
  VISUAL_HINT_ANGLE,
  VISUAL_HINT_FREQUENCY,
  VISUAL_HINT_TIME,
  VISUAL_HINT_FRAME,
  VISUAL_HINT_SUBFRAME,
  VISUAL_HINT_SECOND,
  VISUAL_HINT_AREA,
  VISUAL_HINT_WATT,
  VISUAL_HINT_SAMPLE,
  VISUAL_HINT_SUBSAMPLE,
  VISUAL_HINT_SAMPLE_PER_PIXEL,
  VISUAL_HINT_SUBPIXEL,
  VISUAL_HINT_PIXEL,
  VISUAL_HINT_PARENT_REFERENCE,
  VISUAL_HINT_CONTEXT,
  VISUAL_HINT_L,
  VISUAL_HINT_LA,
  VISUAL_HINT_RGB,
  VISUAL_HINT_RGBA,
  VISUAL_HINT_GRADIENT,
  VISUAL_HINT_MEMSIZE,
  VISUAL_HINT_TAG,
  VISUAL_HINT_TAG_MENU,
  VISUAL_HINT_SCRIPT,
  VISUAL_HINT_MULTILINE,
  VISUAL_HINT_GROUP,
  VISUAL_HINT_CUSTOM_UI,
  VISUAL_HINT_DEFAULT,
  VISUAL_HINT_COUNT
}
 

Public Member Functions

const CoreStringget_name () const
 Returns the name of this plug.
 
const Typeget_type () const
 Returns the type of this plug.
 
const VisualHintget_visual_hint () const
 Returns the visual hint of this plug.
 
const Containerget_container () const
 Returns the type of value container used by this plug.
 
OfObjectget_parent_object () const
 Returns the object containing this plug.
 
OfContextget_parent_context () const
 Accessor to the context containing the parent object of this attribute.
 
OfAppget_application () const
 Accessor to the application.
 
OfObjectFactoryget_factory () const
 Accessor to object factory.
 
CoreString get_full_name () const
 Returns the full name of this plug.
 
- Public Member Functions inherited from CoreBaseObject
bool is_kindof (const CoreBaseObject &object) const
 
virtual size_t get_memory_size () const
 
CoreString get_class_info_name () const
 
const unsigned long & get_class_info_id () const
 
virtual bool is_kindof (const CoreClassInfo &cinfo) const
 
virtual const CoreClassInfoget_class_info () const
 
template<class T >
T * cast ()
 
template<class T >
const T * cast () const
 
- Public Member Functions inherited from CoreBaseType
bool is_kindof (const CoreClassInfo &cinfo) const
 

Protected Member Functions

 OfPlugType (OfObject &object, const CoreString &name, const Type &type, const Container &container, const VisualHint &visual_hint)
 
 OfPlugType (OfObject &object, OfPlugType &source)
 
 OfPlugType (OfObject &object)
 

Protected Attributes

Pdef * m_pdef
 static definition, eventually from a derived class (aka OfAttr::Def)
 
OfObjectm_object
 object owning the plug
 

Additional Inherited Members

- Static Public Member Functions inherited from CoreBaseObject
static const CoreClassInfoclass_info ()
 
template<class T >
static T * cast (CoreBaseObject *object)
 
template<class T >
static const T * cast (const CoreBaseObject *object)
 

Detailed Description

Object Framework object plug. OfPlugType describes both object input (OfAttr) and output (OfOutput).

Member Enumeration Documentation

plug value container type.

Enumerator:
CONTAINER_SINGLE 

Single value attribute.

CONTAINER_ARRAY 

Fixed size 1D array of values.

CONTAINER_LIST 

Variable size 1D array of values.

Type for all the plug values.

Enumerator:
TYPE_BOOL 

Boolean values.

TYPE_LONG 

Signed long integer numbers.

TYPE_DOUBLE 

Double precision floating point numbers.

TYPE_STRING 

Character strings.

TYPE_FILE 

Filenames represented by character strings.

TYPE_REFERENCE 

External OfObject input connection.

TYPE_OBJECT 

Embedded OfObject input connection.

TYPE_CURVE 

Function curves.

TYPE_ACTION 

Action only (no values).

Additional plug type information. This is mostly used to customize how attributes are presented through the UI (without changing the underlying type of the attribute) For instance VISUAL_HINT_COLOR will display a custom RGB widget, VISUAL_HINT_FILENAME_OPEN will have a button used to open a file browser, etc.

Enumerator:
VISUAL_HINT_ENUM 

Hints the UI the attribute uses a OfEnum as list of predefined values: internal type used is TYPE_STRING.

VISUAL_HINT_COLOR 

Hints the UI the attribute represents a color: internal type used TYPE_DOUBLE[3].

VISUAL_HINT_FILENAME_SAVE 

Hints the UI the attribute represents a filename to an exported file: internal type used is TYPE_STRING.

VISUAL_HINT_FILENAME_OPEN 

Hints the UI the attribute represents a filename to an imported asset: internal type used is TYPE_STRING.

VISUAL_HINT_FOLDER 

Hints the UI the attribute represents a folder: internal type used is TYPE_STRING.

VISUAL_HINT_PERCENTAGE 

Hints the UI the attribute represents a multiplier: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SCALE 

Hints the UI the attribute represents a scaling: internal type used is TYPE_DOUBLE.

VISUAL_HINT_DISTANCE 

Hints the UI the attribute represents a distance: internal type used is TYPE_DOUBLE.

VISUAL_HINT_ANGLE 

Hints the UI the attribute represents an angle: internal type used is TYPE_DOUBLE.

VISUAL_HINT_FREQUENCY 

Hints the UI the attribute represents a frequency: internal type used is TYPE_DOUBLE.

VISUAL_HINT_TIME 

Hints the UI the attribute represents time: internal type used is TYPE_DOUBLE.

VISUAL_HINT_FRAME 

Hints the UI the attribute stores time values as frames: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SUBFRAME 

Hints the UI the attribute stores time values as sub-frames: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SECOND 

Hints the UI the attribute stores time values in seconds: internal type used is TYPE_DOUBLE.

VISUAL_HINT_AREA 

Hints the UI the attribute stores area values: internal type used is TYPE_DOUBLE.

VISUAL_HINT_WATT 

Hints the UI the attribute stores power values: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SAMPLE 

Hints the UI the attribute stores samples count: internal type used is TYPE_LONG.

VISUAL_HINT_SUBSAMPLE 

Hints the UI the attribute stores samples count: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SAMPLE_PER_PIXEL 

Hints the UI the attribute stores samples count per pixel: internal type used is TYPE_LONG.

VISUAL_HINT_SUBPIXEL 

Hints the UI the attribute represents sub-pixels: internal type used is TYPE_DOUBLE.

VISUAL_HINT_PIXEL 

Hints the UI the attribute represents pixels: internal type used is TYPE_DOUBLE.

VISUAL_HINT_PARENT_REFERENCE 

Hints the UI the attribute is referencing OfObjects embedded its the parent object: internal type used is TYPE_REFERENCE.

VISUAL_HINT_CONTEXT 

Hints the UI the attribute is referencing OfContext : internal type used is TYPE_STRING.

VISUAL_HINT_L 

Hints the UI the attribute represents a luminance channel value: internal type used is TYPE_DOUBLE.

VISUAL_HINT_LA 

Hints the UI the attribute represents luminance and alpha channel values: internal type used is TYPE_DOUBLE[2].

VISUAL_HINT_RGB 

Hints the UI the attribute represents red, green and blue channel values: internal type used is TYPE_DOUBLE[3].

VISUAL_HINT_RGBA 

Hints the UI the attribute represents red, green, blue and alpha channel values: internal type used is TYPE_DOUBLE[4].

VISUAL_HINT_GRADIENT 

Hints the UI the attribute must be displayed as a ramp: internal type used is TYPE_CURVE.

VISUAL_HINT_MEMSIZE 

Hints the UI the attribute represents memory allocation: internal type used is TYPE_DOUBLE.

VISUAL_HINT_TAG 

Hints the UI the attribute represents name tag (used to reference named properties, identify image channels, AOVs...): internal type used is TYPE_STRING.

VISUAL_HINT_TAG_MENU 

Hints the UI the attribute represents name tag menu (the main difference with tag is that it is not possible to enter a value): internal type used is TYPE_STRING.

VISUAL_HINT_SCRIPT 

Hints the UI the attribute represents script source code: internal type used is TYPE_STRING.

VISUAL_HINT_MULTILINE 

Hints the UI the attribute represents multi line source code: internal type used is TYPE_STRING.

VISUAL_HINT_GROUP 

Hints the UI the attribute represents reference to a group: internal type used is TYPE_REFERENCE.

VISUAL_HINT_CUSTOM_UI 

Hints the UI the attribute represents a specific widget: internal type used is TYPE_STRING.

VISUAL_HINT_DEFAULT 

Hints the UI the attribute represents a string tag value: internal type used is TYPE_STRING.

Member Function Documentation

CoreString OfPlugType::get_full_name ( ) const

Returns the full name of this plug.

Note
A full name is a path from the project's root to this plug..
'build:\scene\image.resolution' is the full name of the attribute named 'resolution' of the object 'image' whose full name is 'build://scene/image'.