3#include "Topology/TriangleSet.h" 
   11    template<
typename TDataType>
 
   16        typedef typename TDataType::Real 
Real;
 
   17        typedef typename TDataType::Coord 
Coord;
 
   30        DEF_ENUM(PickingElementTypeSelection, PickingElementType, PickingElementTypeSelection::All, 
"");
 
   38        DEF_ENUM(PickingTypeSelection, PickingType, PickingTypeSelection::Both, 
"");
 
   46        DEF_ENUM(MultiSelectionType, MultiSelectionType, MultiSelectionType::OR, 
"");
 
   48        DEF_VAR(
Real, InteractionRadius, 0.002f, 
"The radius of interaction");
 
   56        DEF_VAR(
bool, ToggleIndexOutput, 
true, 
"The toggle of index output");
 
 
#define DECLARE_TCLASS(name, T1)
 
DEF_ARRAY_STATE(int, EdgeIndex, DeviceType::GPU, "")
 
DEF_ENUM(MultiSelectionType, MultiSelectionType, MultiSelectionType::OR, "")
 
DECLARE_ENUM(MultiSelectionType, OR=0, XOR=1, C=2)
 
DEF_VAR(bool, ToggleIndexOutput, true, "The toggle of index output")
 
DEF_VAR(Real, PointOtherSize, 0.005f, "")
 
std::shared_ptr< PointInteraction< TDataType > > pointInteractor
 
DEF_VAR(Real, EdgeOtherSize, 0.0015, "")
 
DEF_VAR(Real, InteractionRadius, 0.002f, "The radius of interaction")
 
void resetStates() override
 
void changePickingElementType()
 
DECLARE_ENUM(PickingElementTypeSelection, Edge=0, Point=1, All=2)
 
DEF_ENUM(PickingElementTypeSelection, PickingElementType, PickingElementTypeSelection::All, "")
 
DEF_VAR(Real, PointSelectedSize, 0.006f, "")
 
DEF_ENUM(PickingTypeSelection, PickingType, PickingTypeSelection::Both, "")
 
DEF_INSTANCE_IN(EdgeSet< TDataType >, Topology, "")
 
std::shared_ptr< EdgeInteraction< TDataType > > edgeInteractor
 
void changeMultiSelectionType()
 
std::string getNodeType()
 
~EdgePickerNode() override
 
DEF_ARRAY_STATE(int, PointIndex, DeviceType::GPU, "")
 
DECLARE_ENUM(PickingTypeSelection, Click=0, Drag=1, Both=2)
 
DEF_VAR(Real, EdgeSelectedSize, 0.002f, "")
 
This is an implementation of AdditiveCCD based on peridyno.