|
|
@@ -87,6 +87,8 @@ using namespace std;
|
|
|
#include <vtkTypeFloat64Array.h>
|
|
|
#include <vtkXMLPolyDataReader.h>
|
|
|
#include <vtkXMLStructuredGridReader.h>
|
|
|
+#include<vtkContourFilter.h>
|
|
|
+#include<vtkLookupTable.h>
|
|
|
|
|
|
|
|
|
|
|
|
@@ -568,6 +570,7 @@ class postManage {
|
|
|
vtkSmartPointer<vtkResampleWithDataSet>::New();
|
|
|
vtkSmartPointer<vtkColorTransferFunction> colorMap =
|
|
|
vtkSmartPointer<vtkColorTransferFunction>::New();
|
|
|
+ vtkSmartPointer<vtkLookupTable> lut = vtkSmartPointer<vtkLookupTable>::New();
|
|
|
vtkSmartPointer<vtkPolyDataMapper> mapper =
|
|
|
vtkSmartPointer<vtkPolyDataMapper>::New();
|
|
|
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
|
|
|
@@ -3663,6 +3666,7 @@ bool parseLine(const string &line, DataSet &data) {
|
|
|
return false;
|
|
|
}
|
|
|
// 后处理渲染ply(在用)
|
|
|
+//渲染云图
|
|
|
void rendererPly(vtkRenderer *renderer, postManage *work, TPlyEntry *pEntry) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -3765,6 +3769,29 @@ void rendererPly(vtkRenderer *renderer, postManage *work, TPlyEntry *pEntry) {
|
|
|
work->range[1] =
|
|
|
*std::max_element(pEntry->vonmises.begin(), pEntry->vonmises.end());
|
|
|
|
|
|
+
|
|
|
+ work->lut->SetNumberOfTableValues(10); // 10段颜色
|
|
|
+ work->lut->SetRange(work->range[0], work->range[1]);
|
|
|
+ work->lut->Build();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 设置10段非渐变颜色(蓝 → 红)
|
|
|
+ work->lut->SetTableValue(0, 0.0, 0.0, 1.0); // 蓝色
|
|
|
+ work->lut->SetTableValue(1, 0.12, 0.32, 0.85); // 蓝青色
|
|
|
+ work->lut->SetTableValue(2, 0.37, 0.71, 1.0); // 青色
|
|
|
+ work->lut->SetTableValue(3, 0.38, 1.0, 0.43); // 青绿色
|
|
|
+ work->lut->SetTableValue(4, 0.0, 1.0, 0.0); // 绿色
|
|
|
+ work->lut->SetTableValue(5, 0.79, 1.0, 0.09); // 黄绿色
|
|
|
+ work->lut->SetTableValue(6, 1.0, 1.0, 0.0); // 黄色
|
|
|
+ work->lut->SetTableValue(7, 1.0, 0.70, 0.09); // 橙色
|
|
|
+ work->lut->SetTableValue(8, 1.0, 0.38, 0.0); // 橙红色
|
|
|
+ work->lut->SetTableValue(9, 1.0, 0.0, 0.0); // 红色
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
work->plyColorMap->AddRGBPoint(work->range[0], 0.0, 0.0, 1.0); // 蓝色
|
|
|
work->plyColorMap->AddRGBPoint(
|
|
|
work->range[0] + 0.125 * (work->range[1] - work->range[0]), 0.19,
|
|
|
@@ -3789,31 +3816,30 @@ void rendererPly(vtkRenderer *renderer, postManage *work, TPlyEntry *pEntry) {
|
|
|
0.70, 0.09); // 橙色
|
|
|
work->plyColorMap->AddRGBPoint(work->range[1], 1.0, 0.0, 0.0); // 红色
|
|
|
|
|
|
- // work->plyColorMap->AddRGBPoint(work->range[0], 1.0, 0.0, 0.0); //
|
|
|
- // 红色 //彩虹图 work->plyColorMap->AddRGBPoint(work->range[0] + 0.25
|
|
|
- // * (work->range[1] - work->range[0]), 1.0, 1.0, 0.0); // 黄色
|
|
|
- // work->plyColorMap->AddRGBPoint(work->range[0] + 0.5 * (work->range[1]
|
|
|
- // - work->range[0]), 0.0, 1.0, 0.0); // 绿色
|
|
|
- // work->plyColorMap->AddRGBPoint(work->range[0] + 0.75 *
|
|
|
- // (work->range[1] - work->range[0]), 0.0, 1.0, 1.0); // 青色
|
|
|
- // work->plyColorMap->AddRGBPoint(work->range[1], 0.0, 0.0, 1.0); //
|
|
|
- // 蓝色
|
|
|
|
|
|
work->plyColorMap->SetRange(work->range[0], work->range[1]);
|
|
|
|
|
|
+
|
|
|
work->plyMapper->SetInputData(work->plyData);
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ //work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ work->plyMapper->SetLookupTable(work->lut);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
- renderer->GradientBackgroundOn();
|
|
|
+
|
|
|
+ //renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
renderer->AddActor(work->plyActor);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// ply物理量的切换-云图切换部分
|
|
|
void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
TPlyEntry *pEntry) {
|
|
|
@@ -3867,14 +3893,14 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 2) {
|
|
|
renderer->RemoveAllViewProps();
|
|
|
work->plyData->Initialize();
|
|
|
@@ -3924,14 +3950,14 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
|
|
|
} else if (attribute == 3) {
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -3982,14 +4008,14 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
|
|
|
} else if (attribute == 4) {
|
|
|
|
|
|
@@ -4041,13 +4067,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
|
|
|
} else if (attribute == 5) {
|
|
|
|
|
|
@@ -4098,13 +4124,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 6) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4155,13 +4181,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 7) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4211,13 +4237,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 8) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4267,14 +4293,14 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 9) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4324,13 +4350,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 10) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4380,13 +4406,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 11) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4436,13 +4462,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 12) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4492,13 +4518,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 13) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4548,13 +4574,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 14) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4604,14 +4630,14 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 15) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4661,14 +4687,14 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 16) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4718,13 +4744,13 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /*work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
} else if (attribute == 17) {
|
|
|
|
|
|
renderer->RemoveAllViewProps();
|
|
|
@@ -4774,14 +4800,65 @@ void setPlyPostChange(int attribute, vtkRenderer *renderer, postManage *work,
|
|
|
work->plyMapper->SetScalarRange(work->range);
|
|
|
work->plyMapper->ScalarVisibilityOn();
|
|
|
work->plyMapper->SetColorModeToDefault();
|
|
|
- work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ /* work->plyMapper->SetLookupTable(work->plyColorMap);
|
|
|
|
|
|
work->plyActor->SetMapper(work->plyMapper);
|
|
|
renderer->GradientBackgroundOn();
|
|
|
renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
- renderer->AddActor(work->plyActor);
|
|
|
+ renderer->AddActor(work->plyActor);*/
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ work->lut->SetNumberOfTableValues(10); // 10段颜色
|
|
|
+ work->lut->SetRange(work->range[0], work->range[1]);
|
|
|
+ work->lut->Build();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // 设置10段非渐变颜色(蓝 → 红)
|
|
|
+ work->lut->SetTableValue(0, 0.0, 0.0, 1.0); // 蓝色
|
|
|
+ work->lut->SetTableValue(1, 0.12, 0.32, 0.85); // 蓝青色
|
|
|
+ work->lut->SetTableValue(2, 0.37, 0.71, 1.0); // 青色
|
|
|
+ work->lut->SetTableValue(3, 0.38, 1.0, 0.43); // 青绿色
|
|
|
+ work->lut->SetTableValue(4, 0.0, 1.0, 0.0); // 绿色
|
|
|
+ work->lut->SetTableValue(5, 0.79, 1.0, 0.09); // 黄绿色
|
|
|
+ work->lut->SetTableValue(6, 1.0, 1.0, 0.0); // 黄色
|
|
|
+ work->lut->SetTableValue(7, 1.0, 0.70, 0.09); // 橙色
|
|
|
+ work->lut->SetTableValue(8, 1.0, 0.38, 0.0); // 橙红色
|
|
|
+ work->lut->SetTableValue(9, 1.0, 0.0, 0.0); // 红色
|
|
|
+
|
|
|
+
|
|
|
+ work->plyMapper->SetLookupTable(work->lut);
|
|
|
+ work->plyActor->SetMapper(work->plyMapper);
|
|
|
+
|
|
|
+ renderer->SetBackground(0.655, 0.655, 0.737);
|
|
|
+ renderer->SetBackground2(0.204, 0.204, 0.404);
|
|
|
+
|
|
|
+ renderer->AddActor(work->plyActor);
|
|
|
+
|
|
|
+ // === 添加等值线图层 ===
|
|
|
+ vtkSmartPointer<vtkContourFilter> contourFilter = vtkSmartPointer<vtkContourFilter>::New();
|
|
|
+ contourFilter->SetInputData(work->plyData);
|
|
|
+ contourFilter->GenerateValues(15, work->range[0], work->range[1]); // 可调等值线数量
|
|
|
+
|
|
|
+ vtkSmartPointer<vtkPolyDataMapper> contourMapper = vtkSmartPointer<vtkPolyDataMapper>::New();
|
|
|
+ contourMapper->SetInputConnection(contourFilter->GetOutputPort());
|
|
|
+ contourMapper->SetScalarRange(work->range);
|
|
|
+ //contourMapper->SetLookupTable(work->plyColorMap);
|
|
|
+ // 若只想黑线显示,可以启用下面这句:
|
|
|
+ contourMapper->ScalarVisibilityOff();
|
|
|
+
|
|
|
+ vtkSmartPointer<vtkActor> contourActor = vtkSmartPointer<vtkActor>::New();
|
|
|
+ contourActor->SetMapper(contourMapper);
|
|
|
+ contourActor->GetProperty()->SetColor(0.0, 0.0, 0.0); // 黑线
|
|
|
+ contourActor->GetProperty()->SetLineWidth(1.2);
|
|
|
+ contourActor->GetProperty()->LightingOff();
|
|
|
+ //renderer->AddActor(contourActor);
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
vector<float> extractNumbers(const string &str) {
|
|
|
@@ -4800,7 +4877,8 @@ vector<float> extractNumbers(const string &str) {
|
|
|
// 结构后处理颜色条-针对Ply的
|
|
|
void setPlyPostBar(int attribute, vtkRenderer *renderer, postManage *work) {
|
|
|
work->scalarBarActor->SetLookupTable(NULL);
|
|
|
- work->scalarBarActor->SetLookupTable(work->plyColorMap);
|
|
|
+ //work->scalarBarActor->SetLookupTable(work->plyColorMap);
|
|
|
+ work->scalarBarActor->SetLookupTable(work->lut);
|
|
|
string minMax = "MinValue: " + std::to_string(work->range[0]) + "\n" +
|
|
|
"MaxValue: " + std::to_string(work->range[1]);
|
|
|
string title = "";
|