MCPcopy Create free account
hub / github.com/Kitware/ParaView / MapControlPointsToLogSpace

Method MapControlPointsToLogSpace

Remoting/Views/vtkSMTransferFunctionProxy.cxx:730–768  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

728
729//----------------------------------------------------------------------------
730bool vtkSMTransferFunctionProxy::MapControlPointsToLogSpace(bool inverse /*=false*/)
731{
732 vtkSMProperty* controlPointsProperty = GetControlPointsProperty(this);
733 if (!controlPointsProperty)
734 {
735 return false;
736 }
737
738 SM_SCOPED_TRACE(CallMethod)
739 .arg(this)
740 .arg(inverse ? "MapControlPointsToLinearSpace" : "MapControlPointsToLogSpace")
741 .arg("comment", inverse ? "convert from log to linear" : "convert to log space");
742
743 vtkSMPropertyHelper cntrlPoints(controlPointsProperty);
744 unsigned int num_elements = cntrlPoints.GetNumberOfElements();
745 if (num_elements == 0 || num_elements == 4)
746 {
747 // nothing to do, but not an error, so return true.
748 return true;
749 }
750
751 std::vector<vtkTuple<double, 4>> points;
752 points.resize(num_elements / 4);
753 cntrlPoints.Get(points[0].GetData(), num_elements);
754
755 vtkTuple<double, 2> range;
756 vtkNormalize(points, inverse, &range); // if inverse==true, we're in log-space currently.
757 if (range[0] >= range[1])
758 {
759 vtkWarningMacro("Empty range! Cannot map control points.");
760 return false;
761 }
762 vtkRescaleNormalizedControlPoints(points, range[0], range[1], !inverse);
763 this->LastRange[0] = range[0];
764 this->LastRange[1] = range[1];
765 cntrlPoints.Set(points[0].GetData(), num_elements);
766 this->UpdateVTKObjects();
767 return true;
768}
769
770//----------------------------------------------------------------------------
771bool vtkSMTransferFunctionProxy::ApplyColorMap(const char* text)

Callers 2

Calls 9

GetControlPointsPropertyFunction · 0.85
vtkNormalizeFunction · 0.70
GetNumberOfElementsMethod · 0.45
resizeMethod · 0.45
GetMethod · 0.45
GetDataMethod · 0.45
SetMethod · 0.45
UpdateVTKObjectsMethod · 0.45

Tested by

no test coverage detected