#include <toneop.h>
Public Member Functions |
|
ToneOperator () | |
RefResult | NotifyRefChanged (Interval changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message) |
Receives and responds to messages. |
|
SClass_ID | SuperClassID () |
Retrieves a constant representing the type
of the plugin. |
|
IOResult | Save (ISave *isave) |
IOResult | Load (ILoad *iload) |
virtual BOOL | Active (TimeValue t) |
virtual void | SetActive (bool active, TimeValue t) |
bool | GetProcessBackground () |
void | SetProcessBackground (bool active) |
bool | GetIndirectOnly () |
void | SetIndirectOnly (bool active) |
virtual ToneOpParamDlg * | CreateParamDialog (IRendParams *ip) |
virtual BOOL | SetDlgThing (ToneOpParamDlg *dlg) |
virtual bool | IsPhysicalSpace () const |
virtual void | Update (TimeValue t, Interval &valid) |
virtual bool | BuildMaps (TimeValue t, RenderMapsContext &rmc) |
virtual void | SubRenderSample (float energy[3]) |
virtual void | ScaledToRGB (float energy[3])=0 |
virtual float | ScaledToRGB (float energy)=0 |
virtual float | GetPhysicalUnit (TimeValue t, Interval &valid=Interval(0, 0)) const =0 |
virtual void | SetPhysicalUnit (float value, TimeValue t)=0 |
virtual void | ScalePhysical (float energy[3]) const =0 |
virtual float | ScalePhysical (float energy) const =0 |
virtual void | ScaleRGB (float color[3]) const =0 |
virtual float | ScaleRGB (float color) const =0 |
bool | CanInvert () |
void | RGBToScaled (float energy[3]) |
float | RGBToScaled (float energy) |
ToneOperator | ( | ) | [inline] |
RefResult NotifyRefChanged | ( | Interval | changeInt, |
RefTargetHandle | hTarget, | ||
PartID & | partID, | ||
RefMessage | message | ||
) | [inline, virtual] |
Receives and responds to messages.
A plugin which makes references must implement a method to receive and respond to messages broadcast by its dependents. This is done by implementing NotifyRefChanged(). The plugin developer usually implements this method as a switch statement where each case is one of the messages the plugin needs to respond to. The Method StdNotifyRefChanged calls this, which can change the partID to new value. If it doesn't depend on the particular message& partID, it should return REF_DONTCARE.
changeInt | - This is the interval of time over which the message is active. Currently, all plug-ins will receive FOREVER for this interval. |
hTarget | - This is the handle of the reference target the message was sent by. The reference maker uses this handle to know specifically which reference target sent the message. |
partID | - This contains information specific to the message passed in. Some messages don't use the partID at all. See the section List of Reference Messages for more information about the meaning of the partID for some common messages. |
message | - The message parameters passed into this method is the specific message which needs to be handled. |
Implements ReferenceMaker.
{return REF_SUCCEED;}
SClass_ID SuperClassID | ( | ) | [inline, virtual] |
Retrieves a constant representing the type of the plugin.
Reimplemented from ReferenceTarget.
{ return TONE_OPERATOR_CLASS_ID; }
Reimplemented from SpecialFX.
{ return SpecialFX::Save(isave); }
Reimplemented from SpecialFX.
{ return SpecialFX::Load(iload); }
virtual BOOL Active | ( | TimeValue | t | ) | [inline, virtual] |
Reimplemented from SpecialFX.
{ return !TestAFlag(A_TONEOP_DISABLED); }
virtual void SetActive | ( | bool | active, |
TimeValue | t | ||
) | [inline, virtual] |
{ if (active ^ (TestAFlag(A_TONEOP_DISABLED) == 0)) { if (active) { ClearAFlag(A_TONEOP_DISABLED); } else { SetAFlag(A_TONEOP_DISABLED); } NotifyDependents(FOREVER, (PartID)PART_ALL, REFMSG_CHANGE); } }
bool GetProcessBackground | ( | ) | [inline] |
{ return TestAFlag(A_TONEOP_PROCESS_BG) != 0; }
void SetProcessBackground | ( | bool | active | ) | [inline] |
{ if (active ^ (TestAFlag(A_TONEOP_PROCESS_BG) != 0)) { if (active) { SetAFlag(A_TONEOP_PROCESS_BG); } else { ClearAFlag(A_TONEOP_PROCESS_BG); } NotifyDependents(FOREVER, (PartID)PART_ALL, REFMSG_CHANGE); } }
bool GetIndirectOnly | ( | ) | [inline] |
{ return TestAFlag(A_TONEOP_INDIRECT_ONLY) != 0; }
void SetIndirectOnly | ( | bool | active | ) | [inline] |
{ if (active ^ (TestAFlag(A_TONEOP_INDIRECT_ONLY) != 0)) { if (active) { SetAFlag(A_TONEOP_INDIRECT_ONLY); } else { ClearAFlag(A_TONEOP_INDIRECT_ONLY); } NotifyDependents(FOREVER, (PartID)PART_ALL, REFMSG_CHANGE); } }
virtual ToneOpParamDlg* CreateParamDialog | ( | IRendParams * | ip | ) | [inline, virtual] |
Reimplemented from SpecialFX.
{ return NULL; }
virtual BOOL SetDlgThing | ( | ToneOpParamDlg * | dlg | ) | [inline, virtual] |
Reimplemented from SpecialFX.
{ return FALSE; }
virtual bool IsPhysicalSpace | ( | ) | const [inline, virtual] |
{ return true; }
virtual void Update | ( | TimeValue | t, |
Interval & | valid | ||
) | [inline, virtual] |
Reimplemented from SpecialFX.
{ }
virtual bool BuildMaps | ( | TimeValue | t, |
RenderMapsContext & | rmc | ||
) | [inline, virtual] |
{ return true; }
virtual void SubRenderSample | ( | float | energy[3] | ) | [inline, virtual] |
virtual void ScaledToRGB | ( | float | energy[3] | ) | [pure virtual] |
virtual float ScaledToRGB | ( | float | energy | ) | [pure virtual] |
virtual float GetPhysicalUnit | ( | TimeValue | t, |
Interval & | valid = Interval(0, 0) |
||
) | const [pure virtual] |
virtual void SetPhysicalUnit | ( | float | value, |
TimeValue | t | ||
) | [pure virtual] |
virtual void ScalePhysical | ( | float | energy[3] | ) | const [pure virtual] |
virtual float ScalePhysical | ( | float | energy | ) | const [pure virtual] |
virtual void ScaleRGB | ( | float | color[3] | ) | const [pure virtual] |
virtual float ScaleRGB | ( | float | color | ) | const [pure virtual] |
bool CanInvert | ( | ) | [inline] |
{ return GetInterface(INVERTABLE_TONE_OPERATOR_INTERFACE) != NULL; }
void RGBToScaled | ( | float | energy[3] | ) | [inline] |
{ ToneOperatorInvertable* p = static_cast<ToneOperatorInvertable*>( GetInterface(INVERTABLE_TONE_OPERATOR_INTERFACE)); if (p != NULL) p->InverseMap(energy); }
float RGBToScaled | ( | float | energy | ) | [inline] |
{ ToneOperatorInvertable* p = static_cast<ToneOperatorInvertable*>( GetInterface(INVERTABLE_TONE_OPERATOR_INTERFACE)); return p == NULL ? energy : p->InverseMap(energy); }