Files
ThirdParty-6/ParaView-5.0.1/CoProcessing/PythonCatalyst/CPythonAdaptorAPI.cxx

50 lines
1.6 KiB
C++

/*=========================================================================
Program: ParaView
Module: CPythonAdaptorAPI.cxx
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#include "CPythonAdaptorAPI.h"
#include "vtkCPProcessor.h"
#include "vtkCPPythonAdaptorAPI.h"
#include "vtkCPPythonScriptPipeline.h"
void coprocessorinitializewithpython(
char* pythonFileName, int* pythonFileNameLength)
{
vtkCPPythonAdaptorAPI::CoProcessorInitialize(NULL);
if(pythonFileName != NULL || *pythonFileNameLength > 0)
{ // we put in a check here so that we avoid the warning below
coprocessoraddpythonscript(pythonFileName, pythonFileNameLength);
}
}
void coprocessoraddpythonscript(
char* pythonFileName, int* pythonFileNameLength)
{
if(pythonFileName == NULL || *pythonFileNameLength == 0)
{
vtkGenericWarningMacro("Bad Python file name or length.");
return;
}
int length = *pythonFileNameLength;
char *cPythonFileName = new char[length + 1];
memcpy(cPythonFileName, pythonFileName, sizeof(char)* length);
cPythonFileName[length] = 0;
vtkCPPythonScriptPipeline* pipeline = vtkCPPythonScriptPipeline::New();
pipeline->Initialize(cPythonFileName);
vtkCPPythonAdaptorAPI::GetCoProcessor()->AddPipeline(pipeline);
pipeline->FastDelete();
}