Skip to content

Commit 55916a4

Browse files
committed
Merge branch 'master' into modules_Y
2 parents 9c22bc8 + 5d37400 commit 55916a4

26 files changed

+688
-238
lines changed

src/Core/Algorithms/Legacy/Converter/FieldToNrrd.cc

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,11 @@
3737
#include <Core/Logging/LoggerInterface.h>
3838
#include <Core/GeometryPrimitives/Transform.h>
3939
#include <Core/GeometryPrimitives/Vector.h>
40-
#include <Core/GeometryPrimitives/Point.h>
4140

4241
using namespace SCIRun;
43-
using namespace SCIRun::Core::Logging;
44-
using namespace SCIRun::Core::Algorithms;
45-
using namespace SCIRun::Core::Geometry;
42+
using namespace Core::Logging;
43+
using namespace Core::Algorithms;
44+
using namespace Core::Geometry;
4645

4746
namespace detail
4847
{
@@ -634,12 +633,12 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
634633
{
635634
Tensor t;
636635
field->get_value(t,*it);
637-
data[k] = t.mat_[0][0]; k++;
638-
data[k] = t.mat_[0][1]; k++;
639-
data[k] = t.mat_[0][2]; k++;
640-
data[k] = t.mat_[1][1]; k++;
641-
data[k] = t.mat_[1][2]; k++;
642-
data[k] = t.mat_[2][2]; k++;
636+
data[k] = t.val(0,0); k++;
637+
data[k] = t.val(0,1); k++;
638+
data[k] = t.val(0,2); k++;
639+
data[k] = t.val(1,1); k++;
640+
data[k] = t.val(1,2); k++;
641+
data[k] = t.val(2,2); k++;
643642
++it;
644643
}
645644

@@ -678,12 +677,12 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
678677
{
679678
Tensor t;
680679
field->get_value(t,*it);
681-
data[k] = t.mat_[0][0]; k++;
682-
data[k] = t.mat_[0][1]; k++;
683-
data[k] = t.mat_[0][2]; k++;
684-
data[k] = t.mat_[1][1]; k++;
685-
data[k] = t.mat_[1][2]; k++;
686-
data[k] = t.mat_[2][2]; k++;
680+
data[k] = t.val(0, 0); k++;
681+
data[k] = t.val(0, 1); k++;
682+
data[k] = t.val(0, 2); k++;
683+
data[k] = t.val(1, 1); k++;
684+
data[k] = t.val(1, 2); k++;
685+
data[k] = t.val(2, 2); k++;
687686
++it;
688687
}
689688

@@ -722,12 +721,12 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
722721
{
723722
Tensor t;
724723
field->get_value(t,*it);
725-
data[k] = t.mat_[0][0]; k++;
726-
data[k] = t.mat_[0][1]; k++;
727-
data[k] = t.mat_[0][2]; k++;
728-
data[k] = t.mat_[1][1]; k++;
729-
data[k] = t.mat_[1][2]; k++;
730-
data[k] = t.mat_[2][2]; k++;
724+
data[k] = t.val(0, 0); k++;
725+
data[k] = t.val(0, 1); k++;
726+
data[k] = t.val(0, 2); k++;
727+
data[k] = t.val(1, 1); k++;
728+
data[k] = t.val(1, 2); k++;
729+
data[k] = t.val(2, 2); k++;
731730
++it;
732731
}
733732

@@ -765,12 +764,12 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
765764
{
766765
Tensor t;
767766
field->get_value(t,*it);
768-
data[k] = t.mat_[0][0]; k++;
769-
data[k] = t.mat_[0][1]; k++;
770-
data[k] = t.mat_[0][2]; k++;
771-
data[k] = t.mat_[1][1]; k++;
772-
data[k] = t.mat_[1][2]; k++;
773-
data[k] = t.mat_[2][2]; k++;
767+
data[k] = t.val(0, 0); k++;
768+
data[k] = t.val(0, 1); k++;
769+
data[k] = t.val(0, 2); k++;
770+
data[k] = t.val(1, 1); k++;
771+
data[k] = t.val(1, 2); k++;
772+
data[k] = t.val(2, 2); k++;
774773
++it;
775774
}
776775

@@ -808,12 +807,12 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
808807
{
809808
Tensor t;
810809
field->get_value(t,*it);
811-
data[k] = t.mat_[0][0]; k++;
812-
data[k] = t.mat_[0][1]; k++;
813-
data[k] = t.mat_[0][2]; k++;
814-
data[k] = t.mat_[1][1]; k++;
815-
data[k] = t.mat_[1][2]; k++;
816-
data[k] = t.mat_[2][2]; k++;
810+
data[k] = t.val(0, 0); k++;
811+
data[k] = t.val(0, 1); k++;
812+
data[k] = t.val(0, 2); k++;
813+
data[k] = t.val(1, 1); k++;
814+
data[k] = t.val(1, 2); k++;
815+
data[k] = t.val(2, 2); k++;
817816
++it;
818817
}
819818

@@ -834,7 +833,7 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
834833
dim[1] = static_cast<size_t>(sz[0]);
835834
nrrdAlloc_nva(nrrd,nrrdTypeDouble,nrrddim,dim);
836835

837-
if (nrrd->data == 0)
836+
if (!nrrd->data)
838837
{
839838
pr->error("FieldToNrrd: Could not allocate enough space for new Nrrd");
840839
return (false);
@@ -850,12 +849,12 @@ bool FieldToNrrdAlgoT::tensorFieldToNrrd(LoggerHandle pr,FieldHandle input, Nrrd
850849
{
851850
Tensor t;
852851
field->get_value(t,*it);
853-
data[k] = t.mat_[0][0]; k++;
854-
data[k] = t.mat_[0][1]; k++;
855-
data[k] = t.mat_[0][2]; k++;
856-
data[k] = t.mat_[1][1]; k++;
857-
data[k] = t.mat_[1][2]; k++;
858-
data[k] = t.mat_[2][2]; k++;
852+
data[k] = t.val(0, 0); k++;
853+
data[k] = t.val(0, 1); k++;
854+
data[k] = t.val(0, 2); k++;
855+
data[k] = t.val(1, 1); k++;
856+
data[k] = t.val(1, 2); k++;
857+
data[k] = t.val(2, 2); k++;
859858
++it;
860859
}
861860

src/Core/Algorithms/Legacy/Fields/FieldData/GetFieldData.cc

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,20 @@
3131

3232
#include <Core/Algorithms/Legacy/Fields/FieldData/GetFieldData.h>
3333
#include <Core/Datatypes/DenseMatrix.h>
34-
#include <Core/Datatypes/Legacy/Field/FieldInformation.h>
3534
#include <Core/Algorithms/Base/AlgorithmPreconditions.h>
3635
#include <Core/Algorithms/Base/AlgorithmVariableNames.h>
3736
#include <Core/GeometryPrimitives/Vector.h>
3837
#include <Core/Datatypes/Legacy/Field/Field.h>
3938
#include <Core/Datatypes/Legacy/Field/VField.h>
4039
#include <Core/Datatypes/Legacy/Field/VMesh.h>
4140

42-
using namespace SCIRun::Core::Algorithms::Fields;
43-
using namespace SCIRun::Core::Geometry;
44-
using namespace SCIRun::Core::Datatypes;
45-
using namespace SCIRun::Core::Utility;
46-
using namespace SCIRun::Core::Algorithms;
47-
using namespace SCIRun::Core::Logging;
4841
using namespace SCIRun;
42+
using namespace Core::Algorithms::Fields;
43+
using namespace Core::Geometry;
44+
using namespace Core::Datatypes;
45+
using namespace Core::Utility;
46+
using namespace Core::Algorithms;
47+
using namespace Core::Logging;
4948

5049
GetFieldDataAlgo::GetFieldDataAlgo()
5150
{
@@ -90,17 +89,12 @@ DenseMatrixHandle GetFieldDataAlgo::run(FieldHandle input_field) const
9089

9190
if (vfield1->is_scalar())
9291
return (GetScalarFieldDataV(input_field));
93-
else
94-
if (vfield1->is_vector())
95-
return (GetVectorFieldDataV(input_field));
96-
else
97-
if (vfield1->is_tensor())
98-
return (GetTensorFieldDataV(input_field));
99-
else
100-
{
101-
THROW_ALGORITHM_INPUT_ERROR("Unknown field data type!");
102-
}
103-
92+
if (vfield1->is_vector())
93+
return (GetVectorFieldDataV(input_field));
94+
if (vfield1->is_tensor())
95+
return (GetTensorFieldDataV(input_field));
96+
97+
THROW_ALGORITHM_INPUT_ERROR("Unknown field data type!");
10498
}
10599

106100

@@ -202,12 +196,12 @@ DenseMatrixHandle GetFieldDataAlgo::GetTensorFieldDataV(FieldHandle& input) cons
202196
for (VMesh::index_type idx=0; idx<size; idx++)
203197
{
204198
vfield->get_value(val,idx);
205-
(*output)(idx, 0) = static_cast<double>(val.mat_[0][0]);
206-
(*output)(idx, 1) = static_cast<double>(val.mat_[0][1]);
207-
(*output)(idx, 2) = static_cast<double>(val.mat_[0][2]);
208-
(*output)(idx, 3) = static_cast<double>(val.mat_[1][1]);
209-
(*output)(idx, 4) = static_cast<double>(val.mat_[1][2]);
210-
(*output)(idx, 5) = static_cast<double>(val.mat_[2][2]);
199+
(*output)(idx, 0) = val.val(0,0);
200+
(*output)(idx, 1) = val.val(0,1);
201+
(*output)(idx, 2) = val.val(0,2);
202+
(*output)(idx, 3) = val.val(1,1);
203+
(*output)(idx, 4) = val.val(1,2);
204+
(*output)(idx, 5) = val.val(2,2);
211205
}
212206
#ifdef SCIRUN4_CODE_TO_BE_ENABLED_LATER
213207
if (vfield->basis_order() == 2)

src/Core/Algorithms/Legacy/FiniteElements/BuildMatrix/BuildFEMatrix.cc

Lines changed: 49 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ DEALINGS IN THE SOFTWARE.
3838
#include <Core/Datatypes/Legacy/Field/VMesh.h>
3939
#include <Core/Datatypes/Legacy/Field/Field.h>
4040
#include <Core/Datatypes/Legacy/Field/VField.h>
41-
#include <Core/GeometryPrimitives/Point.h>
4241
#include <Core/GeometryPrimitives/Tensor.h>
4342
#include <Core/Algorithms/Base/AlgorithmPreconditions.h>
4443
#include <Core/Algorithms/Base/AlgorithmVariableNames.h>
@@ -200,15 +199,15 @@ FEMBuilder::build_matrix(FieldHandle input,
200199
for (size_type p=0; p<m;p++)
201200
{
202201
// Set the diagonals to the proper version.
203-
tensor.mat_[0][0] = data[p*n+0];
204-
tensor.mat_[1][0] = 0.0;
205-
tensor.mat_[2][0] = 0.0;
206-
tensor.mat_[0][1] = 0.0;
207-
tensor.mat_[1][1] = data[p*n+0];
208-
tensor.mat_[2][1] = 0.0;
209-
tensor.mat_[0][2] = 0.0;
210-
tensor.mat_[1][2] = 0.0;
211-
tensor.mat_[2][2] = data[p*n+0];
202+
tensor.val(0,0) = data[p*n+0];
203+
tensor.val(1,0) = 0.0;
204+
tensor.val(2,0) = 0.0;
205+
tensor.val(0,1) = 0.0;
206+
tensor.val(1,1) = data[p*n+0];
207+
tensor.val(2,1) = 0.0;
208+
tensor.val(0,2) = 0.0;
209+
tensor.val(1,2) = 0.0;
210+
tensor.val(2,2) = data[p*n+0];
212211
tensors_.push_back(std::make_pair("",tensor));
213212
}
214213
}
@@ -218,15 +217,15 @@ FEMBuilder::build_matrix(FieldHandle input,
218217
{
219218
for (size_type p=0; p<m;p++)
220219
{
221-
tensor.mat_[0][0] = data[0+p*n];
222-
tensor.mat_[1][0] = data[1+p*n];
223-
tensor.mat_[2][0] = data[2+p*n];
224-
tensor.mat_[0][1] = data[1+p*n];
225-
tensor.mat_[1][1] = data[3+p*n];
226-
tensor.mat_[2][1] = data[4+p*n];
227-
tensor.mat_[0][2] = data[2+p*n];
228-
tensor.mat_[1][2] = data[4+p*n];
229-
tensor.mat_[2][2] = data[5+p*n];
220+
tensor.val(0,0) = data[0+p*n];
221+
tensor.val(1,0) = data[1+p*n];
222+
tensor.val(2,0) = data[2+p*n];
223+
tensor.val(0,1) = data[1+p*n];
224+
tensor.val(1,1) = data[3+p*n];
225+
tensor.val(2,1) = data[4+p*n];
226+
tensor.val(0,2) = data[2+p*n];
227+
tensor.val(1,2) = data[4+p*n];
228+
tensor.val(2,2) = data[5+p*n];
230229
tensors_.push_back(std::make_pair("",tensor));
231230
}
232231
}
@@ -236,15 +235,15 @@ FEMBuilder::build_matrix(FieldHandle input,
236235
{
237236
for (size_type p=0; p<m;p++)
238237
{
239-
tensor.mat_[0][0] = data[0+p*n];
240-
tensor.mat_[1][0] = data[1+p*n];
241-
tensor.mat_[2][0] = data[2+p*n];
242-
tensor.mat_[0][1] = data[1+p*n];
243-
tensor.mat_[1][1] = data[4+p*n];
244-
tensor.mat_[2][1] = data[5+p*n];
245-
tensor.mat_[0][2] = data[2+p*n];
246-
tensor.mat_[1][2] = data[5+p*n];
247-
tensor.mat_[2][2] = data[8+p*n];
238+
tensor.val(0,0) = data[0+p*n];
239+
tensor.val(1,0) = data[1+p*n];
240+
tensor.val(2,0) = data[2+p*n];
241+
tensor.val(0,1) = data[1+p*n];
242+
tensor.val(1,1) = data[4+p*n];
243+
tensor.val(2,1) = data[5+p*n];
244+
tensor.val(0,2) = data[2+p*n];
245+
tensor.val(1,2) = data[5+p*n];
246+
tensor.val(2,2) = data[8+p*n];
248247
tensors_.push_back(std::make_pair("",tensor));
249248
}
250249
}
@@ -336,12 +335,12 @@ FEMBuilder::build_local_matrix(VMesh::Elem::index_type c_ind,
336335
T = tensors_[tensor_index].second;
337336
}
338337

339-
double Ca = T.mat_[0][0];
340-
double Cb = T.mat_[0][1];
341-
double Cc = T.mat_[0][2];
342-
double Cd = T.mat_[1][1];
343-
double Ce = T.mat_[1][2];
344-
double Cf = T.mat_[2][2];
338+
double Ca = T.val(0,0);
339+
double Cb = T.val(0,1);
340+
double Cc = T.val(0,2);
341+
double Cd = T.val(1,1);
342+
double Ce = T.val(1,2);
343+
double Cf = T.val(2,2);
345344

346345
if ( (Ca==0) && (Cb==0) && (Cc==0) && (Cd==0) && (Ce==0) && (Cf==0) )
347346
{
@@ -455,12 +454,12 @@ FEMBuilder::build_local_matrix_regular(VMesh::Elem::index_type c_ind,
455454
T = tensors_[tensor_index].second;
456455
}
457456

458-
double Ca = T.mat_[0][0];
459-
double Cb = T.mat_[0][1];
460-
double Cc = T.mat_[0][2];
461-
double Cd = T.mat_[1][1];
462-
double Ce = T.mat_[1][2];
463-
double Cf = T.mat_[2][2];
457+
double Ca = T.val(0,0);
458+
double Cb = T.val(0,1);
459+
double Cc = T.val(0,2);
460+
double Cd = T.val(1,1);
461+
double Ce = T.val(1,2);
462+
double Cf = T.val(2,2);
464463

465464
if ( (Ca==0) && (Cb==0) && (Cc==0) && (Cd==0) && (Ce==0) && (Cf==0) )
466465
{
@@ -1134,7 +1133,7 @@ BuildFEMatrixAlgo::run(FieldHandle input, DenseMatrixHandle ctable, SparseRowMat
11341133
double* data = ctable->data();
11351134
for (size_t i=0; i<tens.size();i++)
11361135
{
1137-
double t = tens[i].second.mat_[0][0];
1136+
double t = tens[i].second.val(0,0);
11381137
data[i] = t;
11391138
}
11401139
}
@@ -1163,11 +1162,11 @@ BuildFEMatrixAlgo::run(FieldHandle input, DenseMatrixHandle ctable, SparseRowMat
11631162
}
11641163

11651164
basis_values_.resize(nconds);
1166-
for (size_type s=0; s < nconds; s++)
1165+
for (size_type i=0; i < nconds; i++)
11671166
{
11681167
SparseRowMatrixHandle temp;
11691168
/// @todo: can initialize array using std::fill
1170-
data[s] = 1.0;
1169+
data[i] = 1.0;
11711170

11721171
if (! builder.build_matrix(input, con, temp) )
11731172
{
@@ -1181,12 +1180,12 @@ BuildFEMatrixAlgo::run(FieldHandle input, DenseMatrixHandle ctable, SparseRowMat
11811180
return false;
11821181
}
11831182

1184-
basis_values_[s].resize(temp->nonZeros());
1183+
basis_values_[i].resize(temp->nonZeros());
11851184
for (size_type p=0; p< temp->nonZeros(); p++)
11861185
{
1187-
basis_values_[s][p] = temp->valuePtr()[p];
1186+
basis_values_[i][p] = temp->valuePtr()[p];
11881187
}
1189-
data[s] = 0.0;
1188+
data[i] = 0.0;
11901189
}
11911190

11921191
generation_ = input->vmesh()->generation();
@@ -1204,12 +1203,12 @@ BuildFEMatrixAlgo::run(FieldHandle input, DenseMatrixHandle ctable, SparseRowMat
12041203
sum[p] = 0.0;
12051204
}
12061205

1207-
for (int s=0; s<nconds; s++)
1206+
for (int i=0; i<nconds; i++)
12081207
{
1209-
double weight = cdata[s*n];
1210-
for (size_t p=0; p < basis_values_[s].size(); p++)
1208+
double weight = cdata[i*n];
1209+
for (size_t p=0; p < basis_values_[i].size(); p++)
12111210
{
1212-
sum[p] += weight * basis_values_[s][p];
1211+
sum[p] += weight * basis_values_[i][p];
12131212
}
12141213
}
12151214

0 commit comments

Comments
 (0)