1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
/*=========================================================================
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();
}
|