This reference page is linked to from the following overview
topics: General
Best Practices, Principal
Function Publishing Classes, The
Function Publishing API, Mesh
Example, Mixin
Interfaces, Parameter
Validation, Publishing
Mixin Interface on Arbitrary Classes, Property
Accessors, Passing
FPInterfaces as Parameters and Results, Action
Interfaces, Added Base
Types, The
FPInterface Class Hierarchy, Extending
Animatable::GetInterface(), Using
FPInterface::Invoke().
#include <ifnpub.h>
Class Description
- See also:
- Class BaseInterface, Class
ClassDesc, Class FPInterfaceDesc, Class
Interface_ID,
Class
ActionTable, FPStatus values, Function Publishing
System.
- Description:
- The Function Publishing system makes use of this class.
Functions are published in one or more Interfaces by a plug-in.
Each interface is represented by an instance of a class derived
from this base class.
Note that the Function Publishing class hierarchy is as
follows:
FPInterface: This is the base
class for all interfaces, the prime client type for using
interfaces.
FPInterfaceDesc: This is
the class which contains interface metadata.
FPStaticInterface: This
is the class to use as the base class for defining static or core
virtual interface classes.
FPMixinInterface: This is
for use as the base class for defining object-based mixin interface
classes, in this case you also use FPInterfaceDesc for mixin
interface descriptors.
Public Member Functions
|
virtual
BaseInterface
* |
GetInterface
(Interface_ID
id) |
virtual
FPInterfaceDesc * |
GetDesc
()=0 |
virtual
CoreExport FPStatus |
Invoke
(FunctionID
fid, TimeValue
t=0, FPParams
*params=NULL) |
virtual
FPStatus |
Invoke
(FunctionID
fid, FPParams
*params) |
virtual
CoreExport FPStatus |
Invoke
(FunctionID
fid, TimeValue
t, FPValue
&result, FPParams *params=NULL) |
virtual
FPStatus |
Invoke
(FunctionID
fid, FPValue
&result, FPParams *params=NULL) |
virtual
CoreExport FunctionID |
FindFn
(const MCHAR *name) |
virtual
CoreExport BOOL |
IsEnabled
(FunctionID
actionID) |
virtual
CoreExport BOOL |
IsChecked
(FunctionID
actionID) |
virtual
CoreExport BOOL |
IsVisible
(FunctionID
actionID) |
virtual
CoreExport FunctionID |
GetIsEnabled
(FunctionID
actionID) |
virtual
CoreExport FunctionID |
GetIsChecked
(FunctionID
actionID) |
virtual
CoreExport FunctionID |
GetIsVisible
(FunctionID
actionID) |
virtual
ActionTable
* |
GetActionTable
() |
virtual
void |
EnableActions
(BOOL onOff) |
Static Public Attributes
|
static
CoreExport FPInterfaceDesc |
nullInterface |
Protected Member Functions
|
virtual
FPStatus |
_dispatch_fn
(FunctionID
fid, TimeValue
t, FPValue
&result, FPParams *p) |
Member Function Documentation
- Parameters:
- Interface_ID id
The ID of the interface to return.
- Default Implementation:
- { return NULL; }
Reimplemented from BaseInterface.
Reimplemented in ActionItem,
ActionItemStandin,
ActionTable,
AssetUser, FPInterfaceDesc,
FPMixinInterface,
IMaterialBrowserEntryInfo, INode,
ITreeView,
SimpleManipulator,
ITrackBar,
Interface,
PFSimpleAction,
PFSimpleActionState, PFSimpleOperator,
and PFSimpleTest.
Implemented in ActionItem,
ActionTable,
AssetUser, IBlobMesh,
IBrowser,
IContainerObject,
IEditNormalsMod,
EPoly,
EPolyMod,
FPInterfaceDesc,
ILagMod,
ILayerControl,
ILimitControl,
IMaterialBrowserEntryInfo, IMorphByBone,
INode,
INodeExposure,
INodeMonitor,
INodeTransformMonitor, IBaseWireControl,
IParticleObjectExt, IPointCache,
IPointCacheWSM,
IParticleCache,
IRefTargMonitorClass, ISkinPose,
IMeshDeformPWMod,
IPatchDeformPWMod, IJiggle,
IRotWindup,
IPathPosition,
IPosConstPosition,
IOrientConstRotation,
ILookAtConstRotation, ILinkCtrl,
IListControl,
ISplineIKControl, IAnimTrack,
ITreeViewUI,
ITreeViewOps,
IUnwrapMod,
IUnwrapMod2,
IUnwrapMod3,
IUnwrapMod4,
IViewportShaderManager, Plane,
GizmoShape,
ISimpleManipulator, ITrackBar,
IScriptCtrl,
IVisualMSForm,
IVisualMSItem,
IVisualMSCallback,
IChannelContainer,
IMXSParticleContainer,
IParticleChannel,
IParticleChannelAmountR,
IParticleChannelAmountW,
IParticleChannelAngAxisR,
IParticleChannelAngAxisW,
IParticleChannelBoolR,
IParticleChannelBoolW,
IParticleChannelExt,
IParticleChannelExt2,
IParticleChannelFloatR,
IParticleChannelFloatW,
IParticleChannelIDR,
IParticleChannelIDW,
IParticleChannelINodeR,
IParticleChannelINodeW,
IParticleChannelINodeHandleR,
IParticleChannelINodeHandleW,
IParticleChannelIntR,
IParticleChannelIntW,
IParticleChannelMapR,
IParticleChannelMapW,
IParticleChannelMatrix3R,
IParticleChannelMatrix3W,
IParticleChannelMeshR,
IParticleChannelMeshW,
IParticleChannelMeshMapR,
IParticleChannelMeshMapW,
IParticleChannelNewR,
IParticleChannelNewW,
IParticleChannelPoint3R,
IParticleChannelPoint3W,
IParticleChannelPTVR,
IParticleChannelPTVW,
IParticleChannelQuatR,
IParticleChannelQuatW,
IParticleChannelTabTVFaceR,
IParticleChannelTabTVFaceW,
IParticleChannelTabUVVertR,
IParticleChannelTabUVVertW,
IParticleChannelTrueFalseIterator,
IParticleChannelTrueFalseIterator2,
IParticleChannelVoidR,
IParticleChannelVoidW, IParticleGroup,
IParticleGroupExt, IPFAction,
IPFActionExt,
IPFActionList, IPFActionListMaterialHolder,
IPFActionListPool,
IPFActionListSet,
IPFActionState, IPFArrow,
IPFIntegrator,
IPFOperator,
IPFOperatorPhysXWorld, IPFRender,
IPFSystem,
IPFSystemPool, IPFTest,
IPFViewport,
IPViewItem,
IPViewItemCreator, IPViewManager,
RealWorldMapSizeInterface, IScanRenderer2,
CheckAbortCallback, BitmapTex,
XMLAnimTreeEntry,
XMLAnimTreeEntryList, NodeAndAnims,
IXRefAtmospheric,
IXRefCtrl,
IXRefItem,
IXRefMaterial,
IXRefObject8,
IObjXRefRecord,
and IXRefProxy.
- Parameters:
- FunctionID fid
The function ID of the function to invoke.
TimeValue t=0
The timevalue at which to invoke the function.
FPParams* params=NULL
The FPParams
to pass.
- Returns:
- The FPStatus. See FPStatus values for details
- Parameters:
- FunctionID fid
The function ID of the function to invoke.
FPParams* params
The FPParams
to pass.
- Returns:
- The FPStatus. See FPStatus values for details
{ return Invoke(fid, 0, params); }
- Parameters:
- FunctionID fid
The function ID of the function to invoke.
TimeValue t
The timevalue at which to invoke the function.
FPValue&
result
A reference to the resulting FPValue.
FPParams* params=NULL
The FPParams
to pass.
- Returns:
- The FPStatus. See FPStatus values for details
- Parameters:
- FunctionID fid
The function ID of the function to invoke.
FPValue&
result
A reference to the resulting FPValue.
FPParams* params=NULL
The FPParams
to pass.
- Returns:
- The FPStatus. See FPStatus values for details
{ return Invoke(fid, 0, result, params); }
virtual CoreExport FunctionID
FindFn |
( |
const MCHAR * |
name |
) |
[virtual] |
- Parameters:
- MCHAR* name
The name of the function to retrieve the Function ID for.
virtual CoreExport BOOL IsEnabled |
( |
FunctionID |
actionID |
) |
[virtual] |
- Parameters:
- FunctionID actionID
The function ID of the action you wish to check the enabled state
for.
virtual CoreExport BOOL IsChecked |
( |
FunctionID |
actionID |
) |
[virtual] |
- Parameters:
- FunctionID actionID
The function ID of the action you wish to check the checked state
for.
virtual CoreExport BOOL IsVisible |
( |
FunctionID |
actionID |
) |
[virtual] |
- Parameters:
- FunctionID actionID
The function ID of the action you wish to check the visibility
state for.
- Parameters:
- FunctionID actionID
The function ID of the action you wish to get the isEnabled ID
for.
- Parameters:
- FunctionID actionID
The function ID of the action you wish to get the isChecked ID
for.
- Parameters:
- FunctionID actionID
The function ID of the action you wish to get the isVisible ID
for.
virtual ActionTable* GetActionTable |
( |
|
) |
[inline, virtual] |
virtual void EnableActions |
( |
BOOL |
onOff |
) |
[inline, virtual] |
- Parameters:
- BOOL onOff
TRUE to enable actions, FALSE to disable them.
- Default Implementation:
- { }
Reimplemented in FPInterfaceDesc.
Member Data Documentation