PeriDyno 0.9.2
Loading...
Searching...
No Matches
Normal.h
Go to the documentation of this file.
1
17#pragma once
18#include "../Framework/Node.h"
19#include "Topology/TriangleSet.h"
20
22#include "GLPointVisualModule.h"
25
26
27namespace dyno
28{
29 template<typename TDataType>
30 class Normal :public Node
31 {
33
34 public:
35 typedef typename TDataType::Real Real;
36 typedef typename TDataType::Coord Coord;
37
40 {
41 d_points.clear();
42 d_edges.clear();
43 d_normalPt.clear();
44 d_normal.clear();
45 triangleCenter.clear();
46 }
47
48 public:
49 DEF_VAR(Real, Length, 0.2, "LinLength");
50 DEF_VAR(bool, Normalize, true, "Normalize");
51
52 DEF_VAR(Real, LineWidth, 0.01, " LineWidth");
53 DEF_VAR(bool, ShowWireframe, true, "ShowWireframe");
54 DEF_VAR(int, ArrowResolution, 8 , "");
55
56 //In
58 DEF_ARRAY_IN(Coord, InNormal, DeviceType::GPU, "");
59 DEF_ARRAY_IN(Real, Scalar, DeviceType::GPU, "");
60
61 //Normal
63 DEF_ARRAY_STATE(Coord, Normal, DeviceType::GPU, "");
65
66 //Arrow
69 DEF_ARRAY_STATE(Transform3f, TransformsCylinder, DeviceType::GPU, "Instance transform");
70 DEF_ARRAY_STATE(Transform3f, TransformsCone, DeviceType::GPU, "Instance transform");
71
72
73 protected:
74 void resetStates() override;
75 void updateStates() override;
76
77 private:
78 void varChanged();
80
81 std::shared_ptr<GLInstanceVisualModule> glInstanceCylinder;
82 std::shared_ptr<GLInstanceVisualModule> glInstanceCone;
88 };
89
91}
#define IMPLEMENT_TCLASS(name, T1)
Definition Object.h:103
std::shared_ptr< GLInstanceVisualModule > glInstanceCone
Definition Normal.h:82
DArray< TopologyModule::Edge > d_edges
Definition Normal.h:84
DEF_ARRAY_IN(Coord, InNormal, DeviceType::GPU, "")
DEF_ARRAY_STATE(Transform3f, TransformsCone, DeviceType::GPU, "Instance transform")
TDataType::Real Real
Definition Normal.h:35
void renderChanged()
DArray< Coord > d_normal
Definition Normal.h:86
DEF_ARRAY_STATE(Transform3f, TransformsCylinder, DeviceType::GPU, "Instance transform")
DEF_VAR(bool, Normalize, true, "Normalize")
DArray< Coord > triangleCenter
Definition Normal.h:87
DEF_INSTANCE_STATE(TriangleSet< TDataType >, ArrowCone, "")
DEF_VAR(bool, ShowWireframe, true, "ShowWireframe")
DArray< Coord > d_normalPt
Definition Normal.h:85
DArray< Coord > d_points
Definition Normal.h:83
void resetStates() override
void updateStates() override
DECLARE_TCLASS(Normal, TDataType)
std::shared_ptr< GLInstanceVisualModule > glInstanceCylinder
Definition Normal.h:81
DEF_VAR(Real, Length, 0.2, "LinLength")
DEF_VAR(Real, LineWidth, 0.01, " LineWidth")
DEF_INSTANCE_STATE(PointSet< TDataType >, TriangleCenter, "")
DEF_ARRAY_STATE(Coord, Normal, DeviceType::GPU, "")
DEF_INSTANCE_IN(TriangleSet< TDataType >, TriangleSet, "")
void varChanged()
DEF_ARRAY_IN(Real, Scalar, DeviceType::GPU, "")
DEF_VAR(int, ArrowResolution, 8, "")
TDataType::Coord Coord
Definition Normal.h:36
DEF_INSTANCE_STATE(TriangleSet< TDataType >, ArrowCylinder, "")
DEF_INSTANCE_STATE(EdgeSet< TDataType >, NormalSet, "")
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:24