19#ifndef itkFreeSurferBinaryMeshIO_h
20#define itkFreeSurferBinaryMeshIO_h
21#include "ITKIOMeshFreeSurferExport.h"
119 template <
typename T>
127 for (
unsigned int jj = 0; jj < this->m_PointDimension; ++jj)
129 data[ii * this->m_PointDimension + jj] =
static_cast<float>(buffer[ii * this->m_PointDimension + jj]);
134 data.get(), this->m_NumberOfPoints * this->m_PointDimension, &outputFile);
138 template <
typename T>
142 constexpr itk::uint32_t numberOfCellPoints = 3;
148 data.get(), this->m_NumberOfCells * numberOfCellPoints, &outputFile);
152 template <
typename TInput,
typename TOutput>
160 for (
unsigned int jj = 0; jj < 3; ++jj)
165 output[ii * 3 + jj] =
static_cast<TOutput
>(input[5 * ii + jj + 2]);
172 template <
typename T>
180 data[ii] =
static_cast<float>(buffer[ii]);
static void SwapWriteRangeFromSystemToBigEndian(const T *p, int num, std::ostream *fp)
~FreeSurferBinaryMeshIO() override
void WritePoints(T *buffer, std::ofstream &outputFile)
void PrintSelf(std::ostream &os, Indent indent) const override
StreamOffsetType m_FilePosition
void ReadMeshInformation() override
Superclass::StreamOffsetType StreamOffsetType
void ReadCells(void *buffer) override
void WriteMeshInformation() override
itk::uint32_t m_FileTypeIdentifier
void ReadPoints(void *buffer) override
std::ifstream m_InputFile
void WriteCellData(void *buffer) override
SmartPointer< Self > Pointer
void ReadCellData(void *buffer) override
void WritePoints(void *buffer) override
SmartPointer< const Self > ConstPointer
void WriteCells(T *buffer, std::ofstream &outputFile)
Superclass::SizeValueType SizeValueType
FreeSurferBinaryMeshIO Self
void WriteCells(void *buffer) override
void ReadCellsBuffer(TInput *input, TOutput *output)
void WritePointData(T *buffer, std::ofstream &outputFile)
bool CanReadFile(const char *fileName) override
void ReadPointData(void *buffer) override
void WritePointData(void *buffer) override
bool CanWriteFile(const char *fileName) override
Control indentation during Print() invocation.
SizeValueType m_NumberOfPoints
IdentifierType SizeValueType
unsigned int m_PointDimension
SizeValueType m_NumberOfPointPixels
std::streamoff StreamOffsetType
SizeValueType m_NumberOfCells
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
auto make_unique_for_overwrite(const vcl_size_t numberOfElements)