outwidget
10.147096:-179.347579:-900.000000
FIN_COMPLEX_PORT
-COMPLEXINPUTS:7
+COMPLEXINPUTS:8
COMPLEX_PORT
structuredpoints
118.034259:165.342792:-900.000000
boxExecute
136.897755:166.588357:-900.000000
FIN_COMPLEX_PORT
-BOXES:22
+COMPLEX_PORT
+lookuptable
+-168.767355:163.699267:-900.000000
+FIN_COMPLEX_PORT
+BOXES:23
BOX
creaVtk:VectorsVisu_Interface:Box01
ISEXEC:FALSE
PORT
Active:"true"
FIN_BOX
-CONNECTIONS:78
+BOX
+std:MagicBox:Box28
+ISEXEC:FALSE
+-200.365716:-1.413275:-900.000000
+-164.290716:-11.413275:-900.000000
+FIN_BOX
+CONNECTIONS:85
CONNECTION
Box01:widget:outwidget:outwidget
NumberOfControlPoints:0
CONNECTION
Box01:active3DXY:Box16:Active
NumberOfControlPoints:0
+CONNECTION
+lookuptable:lookuptable:Box28:In
+NumberOfControlPoints:0
+CONNECTION
+Box28:Out:Box03:ExternalLut
+NumberOfControlPoints:0
+CONNECTION
+Box28:Out:Box04:ExternalLut
+NumberOfControlPoints:0
+CONNECTION
+Box28:Out:Box05:ExternalLut
+NumberOfControlPoints:0
+CONNECTION
+Box28:Out:Box14:ExternalLut
+NumberOfControlPoints:0
+CONNECTION
+Box28:Out:Box15:ExternalLut
+NumberOfControlPoints:0
+CONNECTION
+Box28:Out:Box16:ExternalLut
+NumberOfControlPoints:0
APP_END
new vtk:UpdateRender Box27
set Box27.Active "true"
+new std:MagicBox Box28
+
connect Box06.vtkRenderer Box03.Renderer
connect Box01.Opacity Box03.Opacity
connect Box01.active3DYZ Box14.Active
connect Box01.active3DXZ Box15.Active
connect Box01.active3DXY Box16.Active
+connect Box28.Out Box03.ExternalLut
+connect Box28.Out Box04.ExternalLut
+connect Box28.Out Box05.ExternalLut
+connect Box28.Out Box14.ExternalLut
+connect Box28.Out Box15.ExternalLut
+connect Box28.Out Box16.ExternalLut
# Complex input ports
input Point Box09.In " "
input boxExecute Box21.In " "
input wxvtkbaseview2_2D Box06.wxVtkBaseView " "
input wxvtkbaseview1_2D Box11.wxVtkBaseView " "
+input lookuptable Box28.In " "
# Complex output ports
output outwidget Box01.widget " "
# ----------------------------------
# - BBTKGEditor v 1.4 BBG BlackBox Diagram file
-# - VectorsTensors_Widget.bbg
+# - /home/davila/Creatis/C8/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/boxes/VectorsTensors_Widget.bbg
# ----------------------------------
APP_START
COMPLEXOUTPUTS:1
COMPLEX_PORT
widget
--87.086702:-131.675720:-900.000000
+-133.205566:-215.108938:-900.000000
FIN_COMPLEX_PORT
COMPLEXINPUTS:3
COMPLEX_PORT
BOX
vtk:UpdateRender:Box22
ISEXEC:FALSE
-112.874685:-20.808003:-900.000000
-158.449685:-30.808003:-900.000000
+91.911565:-119.753930:-900.000000
+132.236565:-129.753930:-900.000000
PORT
Active:"true"
FIN_BOX
BOX
wx:LayoutTab:Box17
ISEXEC:FALSE
--89.942511:-71.713124:-900.000000
--44.367511:-81.713124:-900.000000
+-148.219985:-138.795108:-900.000000
+-90.659985:-148.795108:-900.000000
PORT
WinTitle:"VectorsTensors Analysis"
FIN_BOX
BOX
std:MultipleInputs:Box23
ISEXEC:FALSE
-76.506639:18.351379:-900.000000
-122.081639:8.351379:-900.000000
+32.484087:-86.883484:-900.000000
+72.184087:-96.883484:-900.000000
PORT
BoxProcessMode:"Reactive"
FIN_BOX
creaVtk:PlaneVectorVisu_Widget:Box41
ISEXEC:FALSE
-290.289955:71.849699:-900.000000
--202.478965:61.849699:-900.000000
+-240.339955:61.849699:-900.000000
FIN_BOX
BOX
wx:LayoutLine:Box14
ISEXEC:FALSE
--231.090102:-2.949602:-900.000000
--136.464715:-12.949602:-900.000000
+-249.537648:23.883192:-900.000000
+-191.977648:13.883192:-900.000000
PORT
WinTitle:"Field"
FIN_BOX
creaVtk:VolumeVectorVisu_Widget:Box18
ISEXEC:FALSE
-214.258652:71.383715:-900.000000
--143.083652:61.383715:-900.000000
+-162.208652:61.383715:-900.000000
FIN_BOX
BOX
wx:LayoutLine:Box16
ISEXEC:FALSE
--40.899412:-16.748818:-900.000000
-4.675588:-26.748818:-900.000000
+-107.142871:-103.536135:-900.000000
+-49.582871:-113.536135:-900.000000
PORT
WinTitle:"Tensors"
FIN_BOX
creaVtk:VolumeTensorVisu_Widget:Box19
ISEXEC:FALSE
60.863865:72.033730:-900.000000
-132.038865:62.033730:-900.000000
+112.563865:62.033730:-900.000000
FIN_BOX
BOX
creaVtk:PlaneTensorVisu_Widget:Box21
ISEXEC:FALSE
--19.798384:71.186398:-900.000000
-51.376616:61.186398:-900.000000
+-17.702072:72.444185:-900.000000
+31.897928:62.444185:-900.000000
FIN_BOX
BOX
creaVtk:PlaneWidget_StreamLineVisu_Widget:Box30
ISEXEC:FALSE
--128.471084:73.231403:-900.000000
--57.296084:63.231403:-900.000000
+-156.561665:28.789589:-900.000000
+-94.686665:18.789589:-900.000000
FIN_BOX
BOX
vtk:vtkImageDataPointerRelay:Box26
ISEXEC:FALSE
-208.540015:141.393307:-900.000000
--137.365015:131.393307:-900.000000
+-154.090517:131.393307:-900.000000
FIN_BOX
BOX
vtk:vtkImageDataPointerRelay:Box27
ISEXEC:FALSE
-89.314298:137.998626:-900.000000
--18.139298:127.998626:-900.000000
+-37.139298:127.998626:-900.000000
FIN_BOX
BOX
std:MagicBox:Box28
ISEXEC:FALSE
123.517825:137.982960:-900.000000
-169.092825:127.982960:-900.000000
+159.592825:127.982960:-900.000000
FIN_BOX
BOX
wx:LayoutTab:Box29
ISEXEC:FALSE
--199.996601:-45.212305:-900.000000
--126.846139:-55.212305:-900.000000
+-175.679382:-102.651254:-900.000000
+-118.119382:-112.651254:-900.000000
PORT
WinTitle:"Vectors"
FIN_BOX
# ----------------------------------
# - BBTKGEditor v 1.4 BBS BlackBox Script (Complex Box)
-# - VectorsTensors_Widget.bbs
+# - /home/davila/Creatis/C8/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/boxes/VectorsTensors_Widget.bbs
# ----------------------------------
include std
//=====
void ImageDataStructuredPoints::Process()
{
- vtkImageData* imageX = bbGetInputX();
- vtkImageData* imageY = bbGetInputY();
- vtkImageData* imageZ = bbGetInputZ();
-
vtkImageDataStrucPoints idsp;
-
- idsp.joinComponents(imageX, imageY, imageZ);
+ idsp.joinComponents(bbGetInputX(), bbGetInputY(), bbGetInputZ(),
+ bbGetInputData1(), bbGetInputData2(), bbGetInputData3(),
+ bbGetInputData4(), bbGetInputData5(), bbGetInputData6() );
bbSetOutputImageEnsemble( idsp.getStructuredPoints() );
-
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
//=====
void ImageDataStructuredPoints::bbUserSetDefaultValues()
{
-
+ bbSetInputX(NULL);
+ bbSetInputY(NULL);
+ bbSetInputZ(NULL);
+ bbSetInputData1(NULL);
+ bbSetInputData2(NULL);
+ bbSetInputData3(NULL);
+ bbSetInputData4(NULL);
+ bbSetInputData5(NULL);
+ bbSetInputData6(NULL);
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
BBTK_DECLARE_INPUT(X, vtkImageData*);
BBTK_DECLARE_INPUT(Y, vtkImageData*);
BBTK_DECLARE_INPUT(Z, vtkImageData*);
+ BBTK_DECLARE_INPUT(Data1, vtkImageData*);
+ BBTK_DECLARE_INPUT(Data2, vtkImageData*);
+ BBTK_DECLARE_INPUT(Data3, vtkImageData*);
+ BBTK_DECLARE_INPUT(Data4, vtkImageData*);
+ BBTK_DECLARE_INPUT(Data5, vtkImageData*);
+ BBTK_DECLARE_INPUT(Data6, vtkImageData*);
BBTK_DECLARE_OUTPUT(ImageEnsemble, vtkImageData*);
BBTK_PROCESS(Process);
void Process();
};
BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageDataStructuredPoints,bbtk::AtomicBlackBox);
-BBTK_NAME("ImageDataStructuredPoints");
-BBTK_AUTHOR("Carlos Torres");
-BBTK_DESCRIPTION("No Description.");
-BBTK_CATEGORY("empty");
-BBTK_INPUT(ImageDataStructuredPoints,X,"Image X",vtkImageData*,"");
-BBTK_INPUT(ImageDataStructuredPoints,Y,"Image Y",vtkImageData*,"");
-BBTK_INPUT(ImageDataStructuredPoints,Z,"Image Z",vtkImageData*,"");
-BBTK_OUTPUT(ImageDataStructuredPoints,ImageEnsemble,"Image Ensemble",vtkImageData*,"");
+ BBTK_NAME("ImageDataStructuredPoints");
+ BBTK_AUTHOR("Carlos Torres");
+ BBTK_DESCRIPTION("No Description.");
+ BBTK_CATEGORY("empty");
+ BBTK_INPUT(ImageDataStructuredPoints,X,"Image X",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Y,"Image Y",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Z,"Image Z",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Data1,"You need: No Data or Data1 or Data1..3 or Data1..6",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Data2,"You need: No Data or Data1 or Data1..3 or Data1..6",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Data3,"You need: No Data or Data1 or Data1..3 or Data1..6",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Data4,"You need: No Data or Data1 or Data1..3 or Data1..6",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Data5,"You need: No Data or Data1 or Data1..3 or Data1..6",vtkImageData*,"");
+ BBTK_INPUT(ImageDataStructuredPoints,Data6,"You need: No Data or Data1 or Data1..3 or Data1..6",vtkImageData*,"");
+ BBTK_OUTPUT(ImageDataStructuredPoints,ImageEnsemble,"Image Ensemble",vtkImageData*,"");
BBTK_END_DESCRIBE_BLACK_BOX(ImageDataStructuredPoints);
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
p0[1] = 0;
p0[2] = 0;
+ double size=350;
// xy
if ((bbGetInputNormal()[0]==0) && (bbGetInputNormal()[1]==0) && (bbGetInputNormal()[2]==1) )
{
- p1[0] = 200;
+ p1[0] = size;
p1[1] = 0;
p1[2] = 0;
p2[0] = 0;
- p2[1] = 200;
+ p2[1] = size;
p2[2] = 0;
}
// xz
if ((bbGetInputNormal()[0]==0) && (bbGetInputNormal()[1]==1) && (bbGetInputNormal()[2]==0) )
{
- p1[0] = 200;
+ p1[0] = size;
p1[1] = 0;
p1[2] = 0;
p2[0] = 0;
p2[1] = 0;
- p2[2] = 200;
+ p2[2] = size;
}
// yz
if ((bbGetInputNormal()[0]==1) && (bbGetInputNormal()[1]==0) && (bbGetInputNormal()[2]==0) )
{
p1[0] = 0;
- p1[1] = 200;
+ p1[1] = size;
p1[2] = 0;
p2[0] = 0;
p2[1] = 0;
- p2[2] = 200;
+ p2[2] = size;
}
// * TYPE is the C++ type of the input/output
// (the one provided in the attribute 'type' of the tag 'input')
+printf("EED VectorsVisu::Process Start \n");
vectorsvisu.SetActive( bbGetInputActive() );
vectorsvisu.SetDataObject( bbGetInputIn() );
vectorsvisu.SetScaleFactor( bbGetInputScaleFactor() );
vectorsvisu.SetRenderer( bbGetInputRenderer() );
vectorsvisu.SetTypeForm( bbGetInputTypeForm() );
vectorsvisu.SetOrientation( bbGetInputOrientation() );
+ vectorsvisu.SetExternalLut( bbGetInputExternalLut() );
vectorsvisu.Process();
bbSetOutputOut( vectorsvisu.GetProp3D() );
+printf("EED VectorsVisu::Process End \n");
}
//=====
bbSetInputOpacity(1);
bbSetInputTypeForm(0);
bbSetInputOrientation(0);
+ bbSetInputExternalLut(NULL);
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
#include "vtkRenderer.h"
#include "vtkDataObject.h"
+#include "vtkScalarsToColors.h"
#include "vtkVectorsVisu.h"
BBTK_DECLARE_INPUT(Opacity,double);
BBTK_DECLARE_INPUT(TypeForm,int);
BBTK_DECLARE_INPUT(Orientation,int);
+ BBTK_DECLARE_INPUT(ExternalLut,vtkScalarsToColors*);
BBTK_DECLARE_OUTPUT(Out,vtkProp3D*);
BBTK_PROCESS(Process);
void Process();
};
BBTK_BEGIN_DESCRIBE_BLACK_BOX(VectorsVisu,bbtk::AtomicBlackBox);
-BBTK_NAME("VectorsVisu");
-BBTK_AUTHOR("ED at InfoDev Creatis");
-BBTK_DESCRIPTION("No Description.");
-BBTK_CATEGORY("empty");
- BBTK_INPUT(VectorsVisu,Active,"Active (false default)",bool,"");
- BBTK_INPUT(VectorsVisu,In,"(needed) vtkDataObject. (Example vtkDataObject<-vtkDataSet<-vtkPointSet<-vtkPolyData (parrent class) )",vtkDataObject*,"");
- BBTK_INPUT(VectorsVisu,ScaleFactor,"Scale factor (500 default)",double,"");
- BBTK_INPUT(VectorsVisu,Opacity,"Opacity (1 default)",double,"");
- BBTK_INPUT(VectorsVisu,Renderer,"vtkRenderer",vtkRenderer*,"");
- BBTK_INPUT(VectorsVisu,TypeForm,"0 Line, 1 Arrow (default 0)",int,"");
- BBTK_INPUT(VectorsVisu,Orientation,"(default 5) -1=xy, 0=yz, 1=yz, 2=xz, 5=3D, 6=3D",int,"");
- BBTK_OUTPUT(VectorsVisu,Out,"vtkProp3D of an vtkActor",vtkProp3D*,"");
+ BBTK_NAME("VectorsVisu");
+ BBTK_AUTHOR("ED at InfoDev Creatis");
+ BBTK_DESCRIPTION("No Description.");
+ BBTK_CATEGORY("empty");
+ BBTK_INPUT(VectorsVisu,Active,"Active (false default)",bool,"");
+ BBTK_INPUT(VectorsVisu,In,"(needed) vtkDataObject. (Example vtkDataObject<-vtkDataSet<-vtkPointSet<-vtkPolyData (parrent class) )",vtkDataObject*,"");
+ BBTK_INPUT(VectorsVisu,ScaleFactor,"Scale factor (500 default)",double,"");
+ BBTK_INPUT(VectorsVisu,Opacity,"Opacity (1 default)",double,"");
+ BBTK_INPUT(VectorsVisu,Renderer,"vtkRenderer",vtkRenderer*,"");
+ BBTK_INPUT(VectorsVisu,TypeForm,"0 Line, 1 Arrow (default 0)",int,"");
+ BBTK_INPUT(VectorsVisu,Orientation,"(default 5) -1=xy, 0=yz, 1=yz, 2=xz, 5=3D, 6=3D",int,"");
+ BBTK_INPUT(VectorsVisu,ExternalLut,"Lookuptable",vtkScalarsToColors*,"");
+ BBTK_OUTPUT(VectorsVisu,Out,"vtkProp3D of an vtkActor",vtkProp3D*,"");
BBTK_END_DESCRIBE_BLACK_BOX(VectorsVisu);
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
vtkImageDataStrucPoints::~vtkImageDataStrucPoints()
{
}
-void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData* imageY, vtkImageData* imageZ)
+
+void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData* imageY, vtkImageData* imageZ,
+ vtkImageData* Data1, vtkImageData* Data2, vtkImageData* Data3 ,
+ vtkImageData* Data4, vtkImageData* Data5, vtkImageData* Data6 )
{
+printf("EED vtkImageDataStrucPoints::joinComponents Start \n");
+
int ext[6];
imageY->Modified();
//EED 2017-01-01 Migration VTK7
dim[1]=ext[3]-ext[2]+1;
dim[2]=ext[5]-ext[4]+1;
imageY->GetSpacing(spc);
-
-
- double *ptrX = (double *)imageX->GetScalarPointer();
- double *ptrY = (double *)imageY->GetScalarPointer();
- double *ptrZ = (double *)imageZ->GetScalarPointer();
-
- long int sizeimage = dim[0]*dim[1]*dim[2];
-
- vtkDoubleArray *array = vtkDoubleArray::New();
- array->SetNumberOfTuples(sizeimage);
- array->SetNumberOfComponents(3);
- array->Allocate(sizeimage*3, 100 ); // ???
- array->SetName("velocity");
-
- double vx;
- double vy;
- double vz;
-
- int i;
-
+ double *ptrX=NULL, *ptrY=NULL, *ptrZ=NULL;
+ double *ptrD1=NULL, *ptrD2=NULL, *ptrD3=NULL, *ptrD4=NULL, *ptrD5=NULL, *ptrD6=NULL;
+
+ if (imageX!=NULL) ptrX = (double *)imageX->GetScalarPointer();
+ if (imageY!=NULL) ptrY = (double *)imageY->GetScalarPointer();
+ if (imageZ!=NULL) ptrZ = (double *)imageZ->GetScalarPointer();
+ if (Data1 !=NULL) ptrD1 = (double *)Data1->GetScalarPointer();
+ if (Data2 !=NULL) ptrD2 = (double *)Data2->GetScalarPointer();
+ if (Data3 !=NULL) ptrD3 = (double *)Data3->GetScalarPointer();
+ if (Data4 !=NULL) ptrD4 = (double *)Data4->GetScalarPointer();
+ if (Data5 !=NULL) ptrD5 = (double *)Data5->GetScalarPointer();
+ if (Data6 !=NULL) ptrD6 = (double *)Data6->GetScalarPointer();
+
+ long int sizeimage = dim[0]*dim[1]*dim[2];
+ int components=3;
+// if ((Data1!=NULL) && (Data2==NULL) && (Data3==NULL) && (Data4==NULL) && (Data5==NULL) && (Data6==NULL) ) { components=4; }
+// if ((Data1!=NULL) && (Data2!=NULL) && (Data3!=NULL) && (Data4==NULL) && (Data5==NULL) && (Data6==NULL) ) { components=6; }
+// if ((Data1!=NULL) && (Data2!=NULL) && (Data3!=NULL) && (Data4!=NULL) && (Data5!=NULL) && (Data6!=NULL) ) { components=9; }
+ vtkDoubleArray *array = vtkDoubleArray::New();
+ array->SetNumberOfTuples(sizeimage);
+ array->SetNumberOfComponents(components);
+ array->Allocate(sizeimage*components, 100 ); // ???
+ array->SetName("velocity");
+
+ vtkDoubleArray *array2 = vtkDoubleArray::New();
+ array2->SetNumberOfTuples(sizeimage);
+ array2->SetNumberOfComponents(1);
+ array2->Allocate(sizeimage*1, 100 ); // ???
+ array2->SetName("angle");
+
+printf("EED Warnning .... vtkImageDataStrucPoints::joinComponents Limpiar este codigo ........ \n");
+printf("EED Warnning .... vtkImageDataStrucPoints::joinComponents Limpiar este codigo ........ \n");
+printf("EED Warnning .... vtkImageDataStrucPoints::joinComponents Limpiar este codigo ........ \n");
+printf("EED Warnning .... vtkImageDataStrucPoints::joinComponents Limpiar este codigo ........ \n");
+printf("EED Warnning .... vtkImageDataStrucPoints::joinComponents Limpiar este codigo ........ \n");
+printf("EED Warnning .... vtkImageDataStrucPoints::joinComponents Limpiar este codigo ........ \n");
+
+ double vx,vy,vz,d1=0,d2=0,d3=0,d4=0,d5=0,d6=0;
+ int i;
for( i = 0 ; i < sizeimage ; i++ )
{
- vx = *ptrX;
- vy = *ptrY;
- vz = *ptrZ;
- ptrX++;
- ptrY++;
- ptrZ++;
- array->SetTuple3(i,vx, vy , vz );
+ if (ptrX !=NULL) { vx = *ptrX; ptrX++; } else { vx=0; }
+ if (ptrY !=NULL) { vy = *ptrY; ptrY++; } else { vy=0; }
+ if (ptrZ !=NULL) { vz = *ptrZ; ptrZ++; } else { vz=0; }
+ if (ptrD1!=NULL) { d1 = *ptrD1; ptrD1++;}
+ if (ptrD2!=NULL) { d2 = *ptrD2; ptrD2++;}
+ if (ptrD3!=NULL) { d3 = *ptrD3; ptrD3++;}
+ if (ptrD4!=NULL) { d4 = *ptrD4; ptrD4++;}
+
+ if (components==3) { array->SetTuple3(i,vx,vy,vz); }
+ if (components==3) { array2->SetTuple1(i,d1); }
+// if (components==4) { array->SetTuple4(i,vx,vy,vz,d1); }
+// if (components==6) { array->SetTuple6(i,vx,vy,vz,d1,d2,d3); }
+// if (components==9) { array->SetTuple9(i,vx,vy,vz,d1,d2,d3,d4,d5,d6); }
} // for i
_structuredPoints = vtkStructuredPoints::New();
#endif
_structuredPoints->GetPointData()->SetVectors(array);
+ _structuredPoints->GetPointData()->AddArray(array2);
_structuredPoints->GetPointData()->SetNumberOfTuples(sizeimage);
_structuredPoints->Modified();
//EED 2017-01-01 Migration VTK7
*/
+printf("EED vtkImageDataStrucPoints::joinComponents End\n");
}
public :
vtkImageDataStrucPoints();
~vtkImageDataStrucPoints();
- void joinComponents(vtkImageData* imageX, vtkImageData* imageY, vtkImageData* imageZ);
+ void joinComponents(vtkImageData* imageX, vtkImageData* imageY, vtkImageData* imageZ,
+ vtkImageData* Data1, vtkImageData* Data2, vtkImageData* Data3,
+ vtkImageData* Data4 , vtkImageData* Data5 , vtkImageData* Data6 );
vtkStructuredPoints* getStructuredPoints();
vtkStructuredPoints* _structuredPoints;
// double *mag;
int i, j;
double dirx,diry,dirz;
-
-
-inIncr=3;
-// printf("EED length %d %p\n", length,input);
+ double angle;
+
+ printf("EED vtkLookupTableMapDirVectorEED inIncr=%d \n", inIncr);
+
+
// mag = new double[length];
for (i = 0; i < length; ++i)
{
- dirx = 0;
- diry = 0;
- dirz = 0;
- sum = 0;
- for (j = 0; j < inIncr; ++j)
- {
- if (j==0) dirx= static_cast<T>(*input);
- if (j==1) diry= static_cast<T>(*input);
- if (j==2) dirz= static_cast<T>(*input);
- tmp = static_cast<T>(*input);
- sum += (tmp * tmp);
- ++input;
- }
- sum=sqrt(sum);
- *output++ = (unsigned char) abs( (255*dirx/sum) );
- *output++ = (unsigned char) abs( (255*diry/sum) );
- *output++ = (unsigned char) abs( (255*dirz/sum) );
- *output++ = 255;
-// printf("%d %d %d ",(int)(255*dirx/sum),(int)(255*diry/sum),(int)(255*dirz/sum));
-// printf(" C %d %f %f %f \n",inIncr,dirx,diry,dirz);
- }
+
+
+ if (1==1){
+ dirx = static_cast<T>(input[0]);
+ diry = static_cast<T>(input[1]);
+ dirz = static_cast<T>(input[2]);
+ input = input+inIncr;
+ sum = sqrt( dirx*dirx + diry*diry + dirz*dirz );
+
+ /*
+ dirx = 0;
+ diry = 0;
+ dirz = 0;
+ sum = 0;
+ for (j = 0; j < inIncr; ++j)
+ {
+ if (j==0) dirx= static_cast<T>(*input);
+ if (j==1) diry= static_cast<T>(*input);
+ if (j==2) dirz= static_cast<T>(*input);
+ tmp = static_cast<T>(*input);
+ sum += (tmp * tmp);
+ ++input;
+ }
+ sum=sqrt(sum);
+ */
+
+ *output++ = (unsigned char) abs( (255*dirx/sum) );
+ *output++ = (unsigned char) abs( (255*diry/sum) );
+ *output++ = (unsigned char) abs( (255*dirz/sum) );
+ *output++ = 255;
+ // printf("%d %d %d ",(int)(255*dirx/sum),(int)(255*diry/sum),(int)(255*dirz/sum));
+ // printf(" C %d %f %f %f \n",inIncr,dirx,diry,dirz);
+
+ } // type 1 color vector by direction
+
+
+ if (2==0){
+ angle = static_cast<T>(input[0]);
+ input = input+inIncr;
+
+ *output++ = (unsigned char) abs( 255*angle/90 );
+ *output++ = (unsigned char) abs( 0 );
+ *output++ = (unsigned char) abs( 0 );
+ *output++ = 255;
+ // printf("%d %d %d ",(int)(255*dirx/sum),(int)(255*diry/sum),(int)(255*dirz/sum));
+ // printf(" C %d %f %f %f \n",inIncr,dirx,diry,dirz);
+
+ }// type 2 color vector by scalar
+
+ } // for
+
// vtkLookupTableMapData(self, mag, output, length, 1, outFormat);
// delete [] mag;
+
+
}
int inputIncrement,
int outputFormat)
{
-// printf("vtkLookupTableEED::MapScalarsThroughTable2 inputIncrement=%d inputDataType=%d\n",inputIncrement,inputDataType);
+ printf("vtkLookupTableEED::MapScalarsThroughTable2 \n");
// if (this->UseMagnitude && inputIncrement > 1)
// {
switch (inputDataType)
_typeForm = 0;
_orientation = 0;
- _LutEED = vtkLookupTableDirectionVector::New();
+ _LutEED = vtkLookupTableDirectionVector::New();
+ _externalLut = NULL;
//_LutEED->SetVectorMode(0);
//_LutEED->SetVectorModeToMagnitude();
//_LutEED->SetVectorModeToComponent();
return _orientation;
}
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetExternalLut(vtkScalarsToColors* lut)
+{
+printf("EED vtkVectorsTensorsVisuBase::SetExternalLut C ptrlut %p this:%p\n",lut, this);
+ _externalLut=lut;
+printf("EED vtkVectorsTensorsVisuBase::SetExternalLut D ptrlut %p \n",_externalLut);
+}
void SetColorLaw(int);
void SetColor(std::vector<double>);
void SetOrientation(int orientation);
+ void SetExternalLut(vtkScalarsToColors* lut);
bool GetActive();
vtkDataObject* GetDataObject();
vtkSmartPointer<vtkPolyDataMapper> _pdm;
vtkSmartPointer<vtkActor> _actor;
vtkLookupTableDirectionVector *_LutEED;
+ vtkScalarsToColors *_externalLut; // lookuptable
+
int _colorlaw;
double _colorR,_colorG,_colorB;
};
//Borrame
#include "vtkPointData.h"
-
+#include "vtkArrayData.h"
+#include "vtkDataObject.h"
+#include <vtkPointData.h>
//------------------------------------------------------------------------------
vtkVectorsVisu::vtkVectorsVisu()
#endif
}
_vtkglyph->SetScaleModeToScaleByVector();
- _vtkglyph->SetColorModeToColorByVector();
+
+
+ if (_externalLut==NULL)
+ {
+ _vtkglyph->SetColorModeToColorByVector();
+ } else {
+ _vtkglyph->SetColorModeToColorByScalar();
+ } // if _externalLut
+
_vtkglyph->SetScaleFactor( GetScaleFactor() );
_vtkglyph->Update();
// data->GetArray(i)->Print(std::cout);
//}
- _pdm->ScalarVisibilityOn();
- _pdm->SetColorModeToMapScalars();
- //_pdm->SetColorModeToDefault();
- // _pdm->SetColorModeToDirectScalars(); // NOT compile
- _pdm->SetScalarModeToUsePointFieldData();
- _pdm->ImmediateModeRenderingOn();
-
- _LutEED->SetVectorModeToComponent();
- //_LutEED->SetVectorModeToRGBColors();
- //_LutEED->SetVectorModeToMagnitud();
-// _pdm->SetScalarModeToUsePointFieldData();
+ if (_externalLut==NULL)
+ {
+printf("EED vtkVectorsVisu::Process LutEED \n");
+ _pdm->ScalarVisibilityOn();
+ _pdm->SetColorModeToMapScalars();
+ // _pdm->SetColorModeToDefault();
+ // _pdm->SetColorModeToDirectScalars(); // NOT compile
+ _pdm->SetScalarModeToUsePointFieldData();
+ // _pdm->ImmediateModeRenderingOn(); // obsolete
+ _LutEED->SetVectorModeToComponent();
+ //_LutEED->SetVectorModeToRGBColors();
+ //_LutEED->SetVectorModeToMagnitud();
+ // _pdm->SetScalarModeToUsePointFieldData();
_pdm->SetLookupTable( _LutEED );
_pdm->SelectColorArray( "GlyphVector" );
+ } else {
+printf("EED vtkVectorsVisu::Process ExternalLut \n");
+ data->SetActiveScalars("angle");
+
+
+
+
+ _pdm->ScalarVisibilityOn();
+ double scalarRange[2];
+ scalarRange[0]=0;
+ scalarRange[1]=40;
+printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process clean scalar Range ......\n");
+ _pdm->SetScalarRange(scalarRange);
+ _pdm->SetColorModeToMapScalars();
+// _pdm->SetColorModeToDefault();
+// _pdm->SetColorModeToDirectScalars(); // NOT compile
+// _pdm->SetScalarModeToUsePointFieldData();
+ _pdm->ImmediateModeRenderingOn(); // obsolete
+ _pdm->SetLookupTable( _externalLut );
+ _pdm->SelectColorArray( "angle" );
+ } // if _externalLut
+
+
+
+printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n");
+printf("EED warnnning ..... vtkVectorsVisu::Process Clean angle ......\n");
+
+_vtkglyph->Update();
+vtkPointData *pointdata=_vtkglyph->GetOutput()->GetPointData();
+int i,size=pointdata->GetNumberOfArrays();
+for (i=0;i<size;i++)
+{
+ vtkDataArray *array=pointdata->GetArray(i);
+ printf(" vtkVectorsVisu::Process array name %d:<%s> size:%d\n", i, array->GetName(), array->GetSize() );
+}
+
+
// vSliceMapperVec->SetLookupTable( vGreenToRedLut );
// vSliceMapperVec->SetColorModeToMapScalars();
virtual void Process();
-
//--Method template----------------------------
// void FunctionName(int& parameterA);