3#ifndef vtkOBJImporterInternals_h
4#define vtkOBJImporterInternals_h
6#include "vtkIOImportModule.h"
12VTK_ABI_NAMESPACE_BEGIN
23 double map_Kd_scale[3];
24 double map_Kd_offset[3];
39struct vtkOBJImportedPolyDataWithMaterial;
56 if (this->FileName == arg)
60 FileName = std::string(arg);
68 if (this->MTLFileName == arg)
72 MTLFileName = std::string(arg);
73 this->DefaultMTLFileName =
false;
77 TexturePath = std::string(arg);
78 if (TexturePath.empty())
81 const char sep =
'\\';
85 if (TexturePath.at(TexturePath.size() - 1) != sep)
94 vtkSetMacro(VertexScale,
double);
95 vtkGetMacro(VertexScale,
double);
96 vtkGetMacro(SuccessParsingFiles,
int);
112 std::vector<vtkOBJImportedPolyDataWithMaterial*>
poly_list;
120 std::vector<vtkOBJImportedMaterial*>
ParseOBJandMTL(std::string filename,
int& result_code);
122 void ReadVertices(
bool gotFirstUseMaterialTag,
char* pLine,
float xyz,
int lineNr,
double v_scale,
123 bool everything_ok,
vtkPoints* points,
bool use_scale);
131 vtkSetMacro(SuccessParsingFiles,
int);
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
const std::string & GetFileName() const
std::string GetTextureFilename(int idx)
vtkOBJImportedMaterial * GetMaterial(int k)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
std::vector< vtkSmartPointer< vtkActor > > actor_list
void SetTexturePath(const char *arg)
void ReadVertices(bool gotFirstUseMaterialTag, char *pLine, float xyz, int lineNr, double v_scale, bool everything_ok, vtkPoints *points, bool use_scale)
void SetFileName(const char *arg)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const std::string & GetMTLFileName() const
std::vector< vtkSmartPointer< vtkPolyData > > outVector_of_vtkPolyData
virtual vtkPolyData * GetOutput(int idx)
static vtkOBJPolyDataProcessor * New()
std::vector< vtkOBJImportedMaterial * > parsedMTLs
std::vector< vtkOBJImportedPolyDataWithMaterial * > poly_list
const std::string & GetTexturePath() const
std::map< std::string, vtkOBJImportedMaterial * > mtlName_to_mtlData
~vtkOBJPolyDataProcessor() override
vtkOBJPolyDataProcessor()
std::vector< vtkOBJImportedMaterial * > ParseOBJandMTL(std::string filename, int &result_code)
void SetMTLfileName(const char *arg)
represent and manipulate 3D points
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
create a window for renderers to draw into
abstract specification for renderers
const char * GetClassName()
std::string texture_filename
VTKIOIMPORT_EXPORT bool bindTexturedPolydataToRenderWindow(vtkRenderWindow *renderWindow, vtkRenderer *renderer, vtkOBJPolyDataProcessor *reader, vtkActorCollection *actorCollection)
VTKIOIMPORT_EXPORT void obj_set_material_defaults(vtkOBJImportedMaterial *mtl)