#include <vlpi/appearance.h>
#include <boost/bind.hpp>
#include <QMenu>
#include <QString>
#include <QtCore/QCoreApplication>
using namespace makVrv;
class DtObjectVisibilityMenu :
public DtMenu
{
public:
DtObjectVisibilityMenu(
DtDe& de)
:
DtMenu(de,
"DtObjectVisibilityMenu")
{
}
~DtObjectVisibilityMenu()
{
}
{
QMenu* menu =
new QMenu(QObject::tr(
"Visibility"), parent);
return menu;
}
};
template <typename _Filter>
{
public:
{
}
~DtObjectVisibilityMenuItem()
{
}
{
myOffText = text.
translate<QString, QCoreApplication>();
myToolTip = toolTip.
translate<QString, QCoreApplication>();
updateValue();
return retVal;
}
void setValue( bool value )
{
}
bool getValue() const
{
}
protected:
_Filter myFilter;
};
{
public:
DtHideEntitiesFilter()
: DtVrfKindLessThanFilter(
"DtHideEntitiesFilterId", makVrv::
DtUnicode::tr(
"Entities"), DtEntityType(11, -1, -1, -1, -1, -1, -1))
{
}
virtual DtVrfSelectionFilter* clone() const { return new DtHideEntitiesFilter(*this); };
};
{
public:
: DtVrfKindLessThanFilter(("DtHideEntitiesByForceFilterId" + forceName.toAscii()),
(forceName + makVrv::
DtUnicode::tr(
" Entities")), DtEntityType(11, -1, -1, -1, -1, -1, -1), force)
{
}
};
class DtHideEntitiesByForceFriendlyFilter : public DtHideEntitiesByForceFilter
{
public:
DtHideEntitiesByForceFriendlyFilter()
: DtHideEntitiesByForceFilter(1, makVrv::
DtUnicode::tr(
"Friendly"))
{
}
virtual DtVrfSelectionFilter* clone() const { return new DtHideEntitiesByForceFriendlyFilter(*this); };
};
class DtHideEntitiesByForceOpposingFilter : public DtHideEntitiesByForceFilter
{
public:
DtHideEntitiesByForceOpposingFilter()
: DtHideEntitiesByForceFilter(2, makVrv::
DtUnicode::tr(
"Opposing"))
{
}
virtual DtVrfSelectionFilter* clone() const { return new DtHideEntitiesByForceOpposingFilter(*this); };
};
class DtHideEntitiesByForceNeutralFilter : public DtHideEntitiesByForceFilter
{
public:
DtHideEntitiesByForceNeutralFilter()
: DtHideEntitiesByForceFilter(3, makVrv::
DtUnicode::tr(
"Neutral"))
{
}
virtual DtVrfSelectionFilter* clone() const { return new DtHideEntitiesByForceNeutralFilter(*this); };
};
{
public:
DtDestroyedFilter()
: DtVrfSelectionFilter(
"DtDestroyedFilterId", makVrv::
DtUnicode::tr(
"Destroyed"))
{
}
DtDestroyedFilter(const DtDestroyedFilter& orig)
: DtVrfSelectionFilter(orig)
{
}
{
if (ent)
{
DtAppearance app(t);
return (app.damageState() == DtDamageDestroyed);
}
return false;
}
virtual void setForce(int)
{
}
virtual DtVrfSelectionFilter* clone() const { return new DtDestroyedFilter(*this); };
};
{
item(DtHideEntitiesByForceFriendlyFilter().className()));
item(DtHideEntitiesByForceOpposingFilter().className()));
item(DtHideEntitiesByForceNeutralFilter().className()));
}
{
}
{
if(igApp)
{
initPluginMenus(*igApp, *de);
if (announcer)
{
}
return true;
}
else
{
return false;
}
}
{
info.
pluginDescription =
"This example shows how to filter objects for visibility on the front-end.";
}