Clarisse 5.0 SP10 SDK 5.0.5.10.0
Loading...
Searching...
No Matches
OfPlugType Class Reference

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

#include <of_attr.h>

Inherits CoreBaseObject.

Inherited by OfAttr, and 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. More...
 
- 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)
 
- Static Public Member Functions inherited from CoreBaseType
static const CoreClassInfoclass_info ()
 Get the type descriptor of this instance.
 

Detailed Description

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

Member Enumeration Documentation

◆ Container

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

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).

◆ VisualHint

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

◆ get_full_name()

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' is the full name of the attribute named 'resolution' of the object 'image' whose full name is 'build://scene/image'.