13 #ifndef vtkOBJImporterInternals_h
14 #define vtkOBJImporterInternals_h
42 return sqrt( amb[0]*amb[0]+amb[1]*amb[1]+amb[2]*amb[2] );
46 return sqrt( diff[0]*diff[0]+diff[1]*diff[1]+diff[2]*diff[2] );
50 return sqrt( spec[0]*spec[0]+spec[1]*spec[1]+spec[2]*spec[2] );
59 struct vtkOBJImportedPolyDataWithMaterial;
85 const char sep =
'\\';
134 void ReadVertices(
bool gotFirstUseMaterialTag,
char *pLine,
float xyz,
int lineNr, const
double v_scale,
bool everything_ok,
vtkPoints*
points, const
bool use_scale);
137 ~vtkOBJPolyDataProcessor();
146 int SuccessParsingFiles;
149 vtkOBJPolyDataProcessor(const vtkOBJPolyDataProcessor&) VTK_DELETE_FUNCTION;
150 void operator=(const vtkOBJPolyDataProcessor&) VTK_DELETE_FUNCTION;
156 vtkRenderer* renderer,
157 vtkOBJPolyDataProcessor* reader );
void SetMTLfileName(const char *arg)
represents an object (geometry & properties) in a rendered scene
const int MATERIAL_NAME_SIZE
const int OBJ_FILENAME_LENGTH
char texture_filename[OBJ_FILENAME_LENGTH]
std::vector< vtkOBJImportedPolyDataWithMaterial * > poly_list
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
const char * GetClassName()
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
concrete dataset represents vertices, lines, polygons, and triangle strips
void bindTexturedPolydataToRenderWindow(vtkRenderWindow *renderWindow, vtkRenderer *renderer, vtkOBJPolyDataProcessor *reader)
const std::string & GetMTLFileName() const
std::vector< vtkOBJImportedMaterial * > ParseOBJandMTL(std::string filename, int &result_code)
const std::string & GetFileName() const
std::string GetTextureFilename(int idx)
vtkOBJImportedMaterial * GetMaterial(int k)
Superclass for algorithms that produce only polydata as output.
void SetFileName(const char *arg)
a simple class to control print indentation
std::vector< std::string > outVector_of_textureFilnames
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
std::vector< vtkSmartPointer< vtkActor > > actor_list
std::map< std::string, vtkOBJImportedMaterial * > mtlName_to_mtlData
create a window for renderers to draw into
const std::string & GetTexturePath() const
void SetTexturePath(const char *arg)
std::vector< vtkSmartPointer< vtkPolyData > > outVector_of_vtkPolyData
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void obj_set_material_defaults(vtkOBJImportedMaterial *mtl)
static vtkOBJPolyDataProcessor * New()
void ReadVertices(bool gotFirstUseMaterialTag, char *pLine, float xyz, int lineNr, const double v_scale, bool everything_ok, vtkPoints *points, const bool use_scale)
vtkPolyData * GetOutput()
Get the output data object for a port on this algorithm.
represent and manipulate 3D points
char name[MATERIAL_NAME_SIZE]