Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
VTK
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
433
Issues
433
List
Boards
Labels
Milestones
Merge Requests
117
Merge Requests
117
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
VTK
VTK
Commits
fbe92f53
Commit
fbe92f53
authored
Oct 14, 2015
by
Bob Obara
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ENH: Adding a reader for PTS Files
parent
e5d977a6
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
512 additions
and
0 deletions
+512
-0
IO/Geometry/CMakeLists.txt
IO/Geometry/CMakeLists.txt
+1
-0
IO/Geometry/Testing/Cxx/CMakeLists.txt
IO/Geometry/Testing/Cxx/CMakeLists.txt
+4
-0
IO/Geometry/Testing/Cxx/TestPTSReader.cxx
IO/Geometry/Testing/Cxx/TestPTSReader.cxx
+54
-0
IO/Geometry/Testing/Data/Baseline/TestPTSReader.png.md5
IO/Geometry/Testing/Data/Baseline/TestPTSReader.png.md5
+1
-0
IO/Geometry/vtkPTSReader.cxx
IO/Geometry/vtkPTSReader.cxx
+358
-0
IO/Geometry/vtkPTSReader.h
IO/Geometry/vtkPTSReader.h
+93
-0
Testing/Data/samplePTS.pts.md5
Testing/Data/samplePTS.pts.md5
+1
-0
No files found.
IO/Geometry/CMakeLists.txt
View file @
fbe92f53
...
...
@@ -18,6 +18,7 @@ SET(Module_SRCS
vtkParticleReader.cxx
vtkPDBReader.cxx
vtkProStarReader.cxx
vtkPTSReader.cxx
vtkSTLReader.cxx
vtkSTLWriter.cxx
vtkTecplotReader.cxx
...
...
IO/Geometry/Testing/Cxx/CMakeLists.txt
View file @
fbe92f53
...
...
@@ -39,6 +39,10 @@ vtk_add_test_cxx(${vtk-module}CxxTests tests
TestSTLReaderMultiplePatches,TestSTLReader.cxx DATA{
${
VTK_TEST_INPUT_DIR
}
/multiple_patches.stl}
)
vtk_add_test_cxx
(
${
vtk-module
}
CxxTests tests
TestPTSReader,TestPTSReader.cxx DATA{
${
VTK_TEST_INPUT_DIR
}
/samplePTS.pts}
)
set
(
_known_little_endian FALSE
)
if
(
DEFINED CMAKE_WORDS_BIGENDIAN
)
if
(
NOT CMAKE_WORDS_BIGENDIAN
)
...
...
IO/Geometry/Testing/Cxx/TestPTSReader.cxx
0 → 100644
View file @
fbe92f53
#include <vtkNew.h>
#include <vtkActor.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
#include <vtkRegressionTestImage.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkPTSReader.h>
int
TestPTSReader
(
int
argc
,
char
*
argv
[])
{
if
(
argc
<
2
)
{
std
::
cerr
<<
"Required parameters: <filename> maxNumberOfPoints(optional)"
<<
endl
;
return
EXIT_FAILURE
;
}
std
::
string
inputFilename
=
argv
[
1
];
vtkNew
<
vtkPTSReader
>
reader
;
reader
->
SetFileName
(
inputFilename
.
c_str
());
reader
->
SetLimitToMaxNumberOfPoints
(
true
);
reader
->
SetMaxNumberOfPoints
(
100000
);
reader
->
Update
();
// Visualize
vtkNew
<
vtkPolyDataMapper
>
mapper
;
mapper
->
SetInputConnection
(
reader
->
GetOutputPort
());
vtkNew
<
vtkActor
>
actor
;
actor
->
SetMapper
(
mapper
.
GetPointer
());
vtkNew
<
vtkRenderer
>
renderer
;
vtkNew
<
vtkRenderWindow
>
renderWindow
;
renderWindow
->
AddRenderer
(
renderer
.
GetPointer
());
vtkNew
<
vtkRenderWindowInteractor
>
renderWindowInteractor
;
renderWindowInteractor
->
SetRenderWindow
(
renderWindow
.
GetPointer
());
renderer
->
AddActor
(
actor
.
GetPointer
());
renderer
->
SetBackground
(
.3
,
.6
,
.3
);
// Background color green
renderWindow
->
Render
();
int
retVal
=
vtkRegressionTestImage
(
renderWindow
.
GetPointer
()
);
if
(
retVal
==
vtkRegressionTester
::
DO_INTERACTOR
)
{
renderWindowInteractor
->
Start
();
}
return
!
retVal
;
}
IO/Geometry/Testing/Data/Baseline/TestPTSReader.png.md5
0 → 100644
View file @
fbe92f53
e39711f8c2e75a19a1e25937afbc6ea9
IO/Geometry/vtkPTSReader.cxx
0 → 100644
View file @
fbe92f53
This diff is collapsed.
Click to expand it.
IO/Geometry/vtkPTSReader.h
0 → 100644
View file @
fbe92f53
/*=========================================================================
Program: Visualization Toolkit
Module: vtkPTSReader.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm 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.
=========================================================================*/
// .NAME vtkPTSReader - Read ASCII PTS Files.
// .SECTION Description
// vtkPTSReader reads either a text file of
// points. The first line is the number of points. Point information is
// either x y z intensity or x y z intensity r g b
#ifndef vtkPTSReader_h
#define vtkPTSReader_h
#include "vtkIOGeometryModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
#include "vtkBoundingBox.h" // For Bounding Box Data Member
class
VTKIOGEOMETRY_EXPORT
vtkPTSReader
:
public
vtkPolyDataAlgorithm
{
public:
static
vtkPTSReader
*
New
();
vtkTypeMacro
(
vtkPTSReader
,
vtkPolyDataAlgorithm
);
void
PrintSelf
(
ostream
&
os
,
vtkIndent
indent
);
// Description:
// Specify file name.
void
SetFileName
(
const
char
*
filename
);
vtkGetStringMacro
(
FileName
);
// Description:
// Boolean value indicates whether or not to limit points read to a specified
// (ReadBounds) region.
vtkBooleanMacro
(
LimitReadToBounds
,
bool
);
vtkSetMacro
(
LimitReadToBounds
,
bool
);
vtkGetMacro
(
LimitReadToBounds
,
bool
);
// Description:
// Bounds to use if LimitReadToBounds is On
vtkSetVector6Macro
(
ReadBounds
,
double
);
vtkGetVector6Macro
(
ReadBounds
,
double
);
// Description:
// The output type defaults to float, but can instead be double.
vtkBooleanMacro
(
OutputDataTypeIsDouble
,
bool
);
vtkSetMacro
(
OutputDataTypeIsDouble
,
bool
);
vtkGetMacro
(
OutputDataTypeIsDouble
,
bool
);
// Description:
// Boolean value indicates whether or not to limit number of points read
// based on MaxNumbeOfPoints.
vtkBooleanMacro
(
LimitToMaxNumberOfPoints
,
bool
);
vtkSetMacro
(
LimitToMaxNumberOfPoints
,
bool
);
vtkGetMacro
(
LimitToMaxNumberOfPoints
,
bool
);
// Description:
// The maximum number of points to load if LimitToMaxNumberOfPoints is on/true.
// Sets a temporary onRatio.
vtkSetClampMacro
(
MaxNumberOfPoints
,
vtkIdType
,
1
,
VTK_INT_MAX
);
vtkGetMacro
(
MaxNumberOfPoints
,
vtkIdType
);
protected:
vtkPTSReader
();
~
vtkPTSReader
();
int
RequestInformation
(
vtkInformation
*
,
vtkInformationVector
**
,
vtkInformationVector
*
);
int
RequestData
(
vtkInformation
*
,
vtkInformationVector
**
,
vtkInformationVector
*
);
char
*
FileName
;
bool
OutputDataTypeIsDouble
;
bool
LimitReadToBounds
;
double
ReadBounds
[
6
];
vtkBoundingBox
ReadBBox
;
bool
LimitToMaxNumberOfPoints
;
vtkIdType
MaxNumberOfPoints
;
private:
vtkPTSReader
(
const
vtkPTSReader
&
);
// Not implemented.
void
operator
=
(
const
vtkPTSReader
&
);
// Not implemented.
};
#endif
Testing/Data/samplePTS.pts.md5
0 → 100644
View file @
fbe92f53
12d79dddbfceb2116ccbaae0f8600a08
Bob Obara
@bob.obara
mentioned in commit
4f6d0a4d
·
Oct 20, 2015
mentioned in commit
4f6d0a4d
mentioned in commit 4f6d0a4d7a330b5e907e1b60ee5026ac8997950b
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment