4#include "Topology/TriangleSet.h"
8 template<
typename TDataType>
13 typedef typename TDataType::Real
Real;
14 typedef typename TDataType::Coord
Coord;
44 DEF_ENUM(PickingTypeSelection, SurfacePickingType, PickingTypeSelection::Both,
"");
52 DEF_ENUM(MultiSelectionType, MultiSelectionType, MultiSelectionType::OR,
"");
56 DEF_VAR(
Real, FloodAngle, 0.5f,
"The angle limit of flood selection");
58 DEF_VAR(
bool, TogglePicker,
true,
"The toggle of surface picker");
60 DEF_VAR(
bool, ToggleMultiSelect,
false,
"The toggle of multiple selection");
62 DEF_VAR(
bool, ToggleFlood,
false,
"The toggle of flood selection");
64 DEF_VAR(
bool, ToggleVisibleFilter,
false,
"The toggle of visible filter");
66 DEF_VAR(
bool, ToggleQuad,
false,
"The toggle of quad selection");
68 DEF_VAR(
bool, ToggleIndexOutput,
true,
"The toggle of index output");
#define DECLARE_TCLASS(name, T1)
#define IMPLEMENT_TCLASS(name, T1)
TopologyModule::Triangle Triangle
DEF_VAR(bool, ToggleVisibleFilter, false, "The toggle of visible filter")
DArray< int > tempTriIntersectedIndex
DEF_INSTANCE_OUT(TriangleSet< TDataType >, OtherTriangleSet, "")
DEF_ARRAY_OUT(int, TriangleIndex, DeviceType::GPU, "")
void calcIntersectClick()
DEF_ENUM(MultiSelectionType, MultiSelectionType, MultiSelectionType::OR, "")
void calcSurfaceIntersectClick()
DEF_VAR(bool, ToggleFlood, false, "The toggle of flood selection")
DECLARE_ENUM(MultiSelectionType, OR=0, XOR=1, C=2)
DArray< int > triIntersectedIndex
DEF_VAR(bool, ToggleMultiSelect, false, "The toggle of multiple selection")
DEF_VAR(bool, TogglePicker, true, "The toggle of surface picker")
DEF_VAR(bool, ToggleQuad, false, "The toggle of quad selection")
void calcSurfaceIntersectDrag()
DEF_INSTANCE_OUT(TriangleSet< TDataType >, SelectedTriangleSet, "")
DECLARE_ENUM(PickingTypeSelection, Click=0, Drag=1, Both=2)
DEF_INSTANCE_IN(TriangleSet< TDataType >, InitialTriangleSet, "")
std::shared_ptr< Camera > camera
DEF_VAR(bool, ToggleIndexOutput, true, "The toggle of index output")
void onEvent(PMouseEvent event) override
TopologyModule::Edge Edge
void printInfoDragRelease()
DEF_ARRAY_OUT(int, Sur2PointIndex, DeviceType::GPU, "")
DEF_VAR(Real, FloodAngle, 0.5f, "The angle limit of flood selection")
virtual ~SurfaceInteraction()
DEF_ENUM(PickingTypeSelection, SurfacePickingType, PickingTypeSelection::Both, "")
VectorND< PointType, 2 > Edge
Vector< PointType, 3 > Triangle
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray