vtkImplicitPlaneRepresentation ignores NormalToZAxis, NormalToYAxis, and NormalToXAxis
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
I can't be sure what the intent was here; my assumption is that the intent was to lock the representation to axis-normal. It appears that these instance variables are unused (apart from being set/unset) in the class. If the intent is to force the representation to always be axis-normal, two things are needed.
- In the method SetNormal(double x, double y, double z) we need something like if(this->NormalToXAxis) x=1.0; y=0.0; z=0.0; if(this->NormalToYAxis) x=0.0; y=0.0; z=0.0; if(this->NormalToZAxis) x=0.0; y=0.0; z=1.0;
- Also in the methods SetNormalTo?Axis we need something like if (this->NormalToXAxis != var) { this->SetNormal(1.0,0.0,0.0); // no effect, but SetNormal needs to be called this->NormalToXAxis = var; this->Modified(); }
There is another oddity with this class reported here http://public.kitware.com/pipermail/vtkusers/2010-January/105856.html The way the code is currently structured, one must SetBounds that include the plane BEFORE doing SetOrigin and SetNormal, or they have no effect and are defaulted to {0,0,0} and x-normal.
Erik