*/
#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;
}
double dirx,diry,dirz;
+inIncr=3;
printf("EED length %d %p\n", length,input);
// mag = new double[length];
for (i = 0; i < length; ++i)
dirx = 0;
diry = 0;
dirz = 0;
- sum = 0;
+ sum = 0;
for (j = 0; j < inIncr; ++j)
{
- if (j==0) dirx= static_cast<double>(*input);
- if (j==1) diry= static_cast<double>(*input);
- if (j==2) dirz= static_cast<double>(*input);
- tmp = static_cast<double>(*input);
+ 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;
}
*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);
}
-
//----------------------------------------------------------------------------
void vtkLookupTableDirectionVector::MapScalarsThroughTable2(void *input,
unsigned char *output,
vtkVectorsTensorsVisuBase::vtkVectorsTensorsVisuBase()
{
- _firsttime = true;
- _active = false;
- _scalefactor= 1;
+ _firsttime = true;
+ _active = false;
+ _scalefactor = 1;
_opacity = 1;
- _dataobject = NULL;
- _renderer = NULL;
- _typeForm = 0;
+ _dataobject = NULL;
+ _renderer = NULL;
+ _typeForm = 0;
_LutEED = vtkLookupTableDirectionVector::New();
// _LutEED->SetVectorMode(0);
//_LutEED->SetVectorModeToComponent();
_LutEED->SetVectorModeToRGBColors();
- _pdm = vtkPolyDataMapper::New();
- _actor = vtkActor::New();
- _actorAdded = false;
+ _pdm = vtkPolyDataMapper::New();
+ _actor = vtkActor::New();
+ _actorAdded = false;
}
vtkVectorsTensorsVisuBase::~vtkVectorsTensorsVisuBase()
{
}
-
-
//------------------------------------------------------------------------------
void vtkVectorsTensorsVisuBase::VisibilityActor()
{
if ( (_active==true) && (_actorAdded==false) ){
if (GetRenderer()!=NULL)
{
- GetRenderer()->AddActor(_actor);
+ GetRenderer()->AddActor(_actor);
_actorAdded=true;
- } // if Renderer
+ } // if Renderer
} // if _active==true
if ( (_active==false) && (_actorAdded==true) ){
if (GetRenderer()!=NULL)
{
- GetRenderer()->RemoveActor(_actor);
+ GetRenderer()->RemoveActor(_actor);
_actorAdded=false;
- } // if Renderer
+ } // if Renderer
} // if _active==false
}
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetColorLaw(int colorlaw)
+{
+ _colorlaw = colorlaw;
+}
+//------------------------------------------------------------------------------
+void vtkVectorsTensorsVisuBase::SetColor(std::vector<double> rgb)
+{
+ if (rgb.size()==3)
+ {
+ _colorR=rgb[0];
+ _colorG=rgb[1];
+ _colorB=rgb[2];
+ } else {
+ _colorR=1;
+ _colorG=1;
+ _colorB=1;
+ }
+}