4#include "Topology/TriangleSet.h"
8 template<
typename TDataType>
13 typedef typename TDataType::Real
Real;
14 typedef typename TDataType::Coord
Coord;
43 DEF_ENUM(PickingTypeSelection, EdgePickingType, PickingTypeSelection::Both,
"");
51 DEF_ENUM(MultiSelectionType, MultiSelectionType, MultiSelectionType::OR,
"");
53 DEF_VAR(
Real, InteractionRadius, 0.01,
"The radius of interaction");
55 DEF_VAR(
bool, TogglePicker,
true,
"The toggle of picker");
57 DEF_VAR(
bool, ToggleMultiSelect,
false,
"The toggle of multiple selection");
59 DEF_VAR(
bool, ToggleIndexOutput,
true,
"The toggle of index output");
#define DECLARE_TCLASS(name, T1)
#define IMPLEMENT_TCLASS(name, T1)
void calcEdgeIntersectDrag()
DEF_VAR(bool, ToggleMultiSelect, false, "The toggle of multiple selection")
DEF_INSTANCE_IN(EdgeSet< TDataType >, InitialEdgeSet, "")
virtual ~EdgeInteraction()
TopologyModule::Edge Edge
DArray< int > tempEdgeIntersectedIndex
DEF_VAR(Real, InteractionRadius, 0.01, "The radius of interaction")
DECLARE_ENUM(MultiSelectionType, OR=0, XOR=1, C=2)
void onEvent(PMouseEvent event) override
DEF_INSTANCE_OUT(EdgeSet< TDataType >, OtherEdgeSet, "")
DEF_VAR(bool, ToggleIndexOutput, true, "The toggle of index output")
DEF_INSTANCE_OUT(EdgeSet< TDataType >, SelectedEdgeSet, "")
DEF_ARRAY_OUT(int, EdgeIndex, DeviceType::GPU, "")
DArray< int > edgeIntersectedIndex
std::shared_ptr< Camera > camera
void calcEdgeIntersectClick()
TopologyModule::Triangle Triangle
void calcIntersectClick()
DECLARE_ENUM(PickingTypeSelection, Click=0, Drag=1, Both=2)
DEF_ENUM(PickingTypeSelection, EdgePickingType, PickingTypeSelection::Both, "")
void printInfoDragRelease()
DEF_VAR(bool, TogglePicker, true, "The toggle of picker")
DEF_ENUM(MultiSelectionType, MultiSelectionType, MultiSelectionType::OR, "")
VectorND< PointType, 2 > Edge
Vector< PointType, 3 > Triangle
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray