#include <mxsPlugin.h>
Public Member Functions |
|
| MSAtmosXtnd (MSPluginClass *pc, BOOL loading) | |
| ~MSAtmosXtnd () | |
| RefTargetHandle | Clone (RemapDir &remap) |
| This method is used by 3ds Max to clone an
object. |
|
| AtmosParamDlg * | CreateParamDialog (IRendParams *ip) |
| BOOL | SetDlgThing (AtmosParamDlg *dlg) |
| void | Shade (ShadeContext &sc, const Point3 &p0, const Point3 &p1, Color &color, Color &trans, BOOL isBG=FALSE) |
| MSAtmosXtnd | ( | MSPluginClass * | pc, |
| BOOL | loading | ||
| ) |
| ~MSAtmosXtnd | ( | ) | [inline] |
{ DeleteAllRefsFromMe(); }
| RefTargetHandle Clone | ( | RemapDir & | remap | ) | [virtual] |
This method is used by 3ds Max to clone an object.
class MyDerivedPlugin
: public MyBasePlugin
{
const int MY_REFERENCE = 1;
ReferenceTarget* Clone(RemapDir& remap)
{
ReferenceTarget* result = new MyDerivedPlugin();
BaseClone(this, result, remap);
return result;
}
void BaseClone(ReferenceTarget* from, ReferenceTarget* to, RemapDir& remap)
{
if (!to || !from || from == to)
return;
MyBasePlugin::BaseClone(from, to, remap);
to->ReplaceReference(MY_REFERENCE, remap->CloneRef(from->GetReference(MY_REFERENCE)));
}
};
This method should not be directly called by plug-ins. Instead, either RemapDir::CloneRef() or CloneRefHierachy() should be used to perform cloning. These methods ensure that the mapping from the original object to the clone is added to the RemapDir used for cloning, which may be used during backpatch operations
| remap | - A RemapDir instance used for remapping references during a Clone. |
Reimplemented from MSPluginAtmos.
| AtmosParamDlg* CreateParamDialog | ( | IRendParams * | ip | ) | [virtual] |
Reimplemented from MSPluginAtmos.
| BOOL SetDlgThing | ( | AtmosParamDlg * | dlg | ) | [virtual] |
Reimplemented from MSPluginAtmos.
| void Shade | ( | ShadeContext & | sc, |
| const Point3 & | p0, | ||
| const Point3 & | p1, | ||
| Color & | color, | ||
| Color & | trans, | ||
| BOOL | isBG = FALSE |
||
| ) | [inline, virtual] |
Reimplemented from MSPluginAtmos.