*/
#include "vtkVectorsTensorsVisuBase.h"
-
-
#include "vtkObjectFactory.h"
-
-
-
vtkStandardNewMacro(vtkLookupTableDirectionVector);
// Construct with range=(0,1); and hsv ranges set up for rainbow color table
{
}
-
-
unsigned char *vtkLookupTableDirectionVector::MapValue(double v)
{
//int idx = this->GetIndex(v);
- //return (this->Table->GetPointer(0) + 4*idx);
-
+ //return (this->Table->GetPointer(0) + 4*idx);
return 0;
}
int inIncr, int outFormat)
{
double tmp,sum;
-// double *mag;
int i, j;
double dirx,diry,dirz;
-
-
-inIncr=3;
- printf("EED length %d %p\n", length,input);
-// mag = new double[length];
+ double angle;
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);
- }
-
-// vtkLookupTableMapData(self, mag, output, length, 1, outFormat);
-
-// delete [] mag;
+ 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 );
+ *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);
+
+ } // for
}
-
//----------------------------------------------------------------------------
void vtkLookupTableDirectionVector::MapScalarsThroughTable2(void *input,
unsigned char *output,
int inputIncrement,
int outputFormat)
{
- printf("vtkLookupTableEED::MapScalarsThroughTable2 inputIncrement=%d inputDataType=%d\n",inputIncrement,inputDataType);
// if (this->UseMagnitude && inputIncrement > 1)
// {
switch (inputDataType)
vtkVectorsTensorsVisuBase::vtkVectorsTensorsVisuBase()
{
- _firsttime = true;
- _active = false;
- _scalefactor= 1;
+ _firsttime = true;
+ _active = false;
+ _scalefactor = 1;
_opacity = 1;
- _dataobject = NULL;
- _renderer = NULL;
- _typeForm = 0;
-
- _LutEED = vtkLookupTableDirectionVector::New();
-// _LutEED->SetVectorMode(0);
-//_LutEED->SetVectorModeToMagnitude();
-//_LutEED->SetVectorModeToComponent();
-_LutEED->SetVectorModeToRGBColors();
-
- _pdm = vtkPolyDataMapper::New();
+ _dataobject = NULL;
+ _renderer = NULL;
+ _typeForm = 0;
+ _orientation = 0;
+
+ _LutEED = vtkLookupTableDirectionVector::New();
+ _externalLut = NULL;
+ //_LutEED->SetVectorMode(0);
+ //_LutEED->SetVectorModeToMagnitude();
+ //_LutEED->SetVectorModeToComponent();
+ _LutEED->SetVectorModeToRGBColors();
+
+ _pdm = vtkPolyDataMapper::New();
_actor = vtkActor::New();
_actorAdded = false;
}
{
}
-
-
//------------------------------------------------------------------------------
void vtkVectorsTensorsVisuBase::VisibilityActor()
{
-
if ( (_active==true) && (_actorAdded==false) ){
if (GetRenderer()!=NULL)
{
} // if _active==false
}
-
//------------------------------------------------------------------------------
void vtkVectorsTensorsVisuBase::SetColorLaw(int colorlaw)
{
}
}
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetOrientation(int orientation)
+{
+ _orientation = orientation;
+}
+
+//------------------------------------------------------------------------------
+int vtkVectorsTensorsVisuBase::GetOrientation()
+{
+ return _orientation;
+}
+
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetExternalLut(vtkScalarsToColors* lut)
+{
+ _externalLut=lut;
+}