Loading...
Searching...
No Matches
STLAsciiParse Class Reference

Internal class used when parsing STL ASCII format. More...

#include <STLAsciiParse.H>

Inheritance diagram for STLAsciiParse:
Collaboration diagram for STLAsciiParse:

Public Member Functions

 STLAsciiParse (const label nTrisEstimated)
 Construct with the estimated number of triangles in the STL.
void clear ()
 Reset stored values.
bool is_sorted () const noexcept
 Do all the solid groups appear in order?
DynamicList< STLpoint > & points () noexcept
 A list of unstitched triangle points.
DynamicList< label > & facets () noexcept
 A list of facet IDs (group IDs) corresponds to the number of triangles.
DynamicList< word > & names () noexcept
 Solid names in the order of their appearance.
DynamicList< label > & sizes () noexcept
 Solid sizes in the order of their appearance.

Protected Member Functions

void beginSolid (word solidName)
 Action when entering 'solid'.
void beginFacet ()
 Action when entering 'facet'.
void resetVertex ()
 Reset vertex component to zero.
bool addVertexComponent (float val)
 Add next vertex component. On each third call, adds the point.
bool addVertexComponent (const char *text)
 Add next vertex component. On each third call, adds the point.
void endFacet ()
 Action on 'endfacet'.
 STLAsciiParse (const STLAsciiParse &)=delete
 No copy construct.
void operator= (const STLAsciiParse &)=delete
 No copy assignment.

Protected Attributes

bool sorted_
label groupId_
label lineNum_
int nFacetPoints_
 The number of local points on the current facet.
int nVertexCmpt_
 Current vertex component when reading 'vertex'.
STLpoint currVertex_
 Scratch space for reading 'vertex'.
DynamicList< STLpointpoints_
DynamicList< label > facets_
DynamicList< wordnames_
DynamicList< label > sizes_
HashTable< label > nameLookup_

Detailed Description

Internal class used when parsing STL ASCII format.

Source files

Definition at line 50 of file STLAsciiParse.H.

Constructor & Destructor Documentation

◆ STLAsciiParse() [1/2]

STLAsciiParse ( const STLAsciiParse & )
protecteddelete

No copy construct.

References STLAsciiParse().

Referenced by operator=(), STLAsciiParse(), and STLAsciiParseManual::STLAsciiParseManual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STLAsciiParse() [2/2]

STLAsciiParse ( const label nTrisEstimated)
inline

Construct with the estimated number of triangles in the STL.

Definition at line 129 of file STLAsciiParseI.H.

References facets_, groupId_, lineNum_, nFacetPoints_, nVertexCmpt_, points_, and sorted_.

Member Function Documentation

◆ beginSolid()

void beginSolid ( word solidName)
inlineprotected

Action when entering 'solid'.

Definition at line 23 of file STLAsciiParseI.H.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, groupId_, nameLookup_, names_, Foam::nl, sizes_, and sorted_.

Referenced by STLAsciiParseManual::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ beginFacet()

void beginFacet ( )
inlineprotected

Action when entering 'facet'.

Definition at line 57 of file STLAsciiParseI.H.

References nFacetPoints_, and nVertexCmpt_.

Referenced by STLAsciiParseManual::execute().

Here is the caller graph for this function:

◆ resetVertex()

void resetVertex ( )
inlineprotected

Reset vertex component to zero.

Definition at line 64 of file STLAsciiParseI.H.

References nVertexCmpt_.

◆ addVertexComponent() [1/2]

bool addVertexComponent ( float val)
inlineprotected

Add next vertex component. On each third call, adds the point.

Returns
true when point has been added (on the last component)

Definition at line 70 of file STLAsciiParseI.H.

References currVertex_, nFacetPoints_, nVertexCmpt_, and points_.

Referenced by STLAsciiParseManual::execute().

Here is the caller graph for this function:

◆ addVertexComponent() [2/2]

bool addVertexComponent ( const char * text)
inlineprotected

Add next vertex component. On each third call, adds the point.

Returns
true when point has been added (on the last component)

> safer, but slower: readFloat(text, currVertex_[nVertexCmpt_]);

Definition at line 85 of file STLAsciiParseI.H.

References currVertex_, nFacetPoints_, nVertexCmpt_, and points_.

◆ endFacet()

void endFacet ( )
inlineprotected

Action on 'endfacet'.

Definition at line 103 of file STLAsciiParseI.H.

References facets_, groupId_, nFacetPoints_, points_, and sizes_.

Referenced by STLAsciiParseManual::execute().

Here is the caller graph for this function:

◆ operator=()

void operator= ( const STLAsciiParse & )
protecteddelete

No copy assignment.

References STLAsciiParse().

Here is the call graph for this function:

◆ clear()

void clear ( )
inline

Reset stored values.

Definition at line 143 of file STLAsciiParseI.H.

References facets_, groupId_, lineNum_, nameLookup_, names_, nFacetPoints_, nVertexCmpt_, points_, sizes_, and sorted_.

◆ is_sorted()

bool is_sorted ( ) const
inlinenoexcept

Do all the solid groups appear in order?

Definition at line 150 of file STLAsciiParse.H.

References Foam::noexcept, and sorted_.

◆ points()

DynamicList< STLpoint > & points ( )
inlinenoexcept

A list of unstitched triangle points.

Definition at line 155 of file STLAsciiParse.H.

References Foam::noexcept, and points_.

◆ facets()

DynamicList< label > & facets ( )
inlinenoexcept

A list of facet IDs (group IDs) corresponds to the number of triangles.

Definition at line 161 of file STLAsciiParse.H.

References facets_, and Foam::noexcept.

◆ names()

DynamicList< word > & names ( )
inlinenoexcept

Solid names in the order of their appearance.

Definition at line 166 of file STLAsciiParse.H.

References names_, and Foam::noexcept.

◆ sizes()

DynamicList< label > & sizes ( )
inlinenoexcept

Solid sizes in the order of their appearance.

Definition at line 171 of file STLAsciiParse.H.

References Foam::noexcept, and sizes_.

Member Data Documentation

◆ sorted_

bool sorted_
protected

Definition at line 56 of file STLAsciiParse.H.

Referenced by beginSolid(), clear(), is_sorted(), and STLAsciiParse().

◆ groupId_

label groupId_
protected

Definition at line 57 of file STLAsciiParse.H.

Referenced by beginSolid(), clear(), endFacet(), and STLAsciiParse().

◆ lineNum_

label lineNum_
protected

Definition at line 58 of file STLAsciiParse.H.

Referenced by clear(), STLAsciiParseManual::execute(), and STLAsciiParse().

◆ nFacetPoints_

int nFacetPoints_
protected

The number of local points on the current facet.

Definition at line 63 of file STLAsciiParse.H.

Referenced by addVertexComponent(), addVertexComponent(), beginFacet(), clear(), endFacet(), and STLAsciiParse().

◆ nVertexCmpt_

int nVertexCmpt_
protected

Current vertex component when reading 'vertex'.

Definition at line 68 of file STLAsciiParse.H.

Referenced by addVertexComponent(), addVertexComponent(), beginFacet(), clear(), resetVertex(), and STLAsciiParse().

◆ currVertex_

STLpoint currVertex_
protected

Scratch space for reading 'vertex'.

Definition at line 73 of file STLAsciiParse.H.

Referenced by addVertexComponent(), and addVertexComponent().

◆ points_

DynamicList<STLpoint> points_
protected

◆ facets_

DynamicList<label> facets_
protected

Definition at line 76 of file STLAsciiParse.H.

Referenced by clear(), endFacet(), facets(), and STLAsciiParse().

◆ names_

DynamicList<word> names_
protected

Definition at line 77 of file STLAsciiParse.H.

Referenced by beginSolid(), clear(), and names().

◆ sizes_

DynamicList<label> sizes_
protected

Definition at line 78 of file STLAsciiParse.H.

Referenced by beginSolid(), clear(), endFacet(), and sizes().

◆ nameLookup_

HashTable<label> nameLookup_
protected

Definition at line 79 of file STLAsciiParse.H.

Referenced by beginSolid(), and clear().


The documentation for this class was generated from the following files: