Viskores  1.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
viskores::cont::CellSetExtrude Class Reference

Defines a 3-dimensional extruded mesh representation. More...

#include <CellSetExtrude.h>

Inheritance diagram for viskores::cont::CellSetExtrude:
viskores::cont::CellSet

Public Types

template<typename VisitTopology , typename IncidentTopology >
using ExecConnectivityType = typename detail::CellSetExtrudeConnectivityChooser< VisitTopology, IncidentTopology >::ExecConnectivityType
 

Public Member Functions

 CellSetExtrude ()
 
 CellSetExtrude (const viskores::cont::ArrayHandle< viskores::Int32 > &conn, viskores::Int32 numberOfPointsPerPlane, viskores::Int32 numberOfPlanes, const viskores::cont::ArrayHandle< viskores::Int32 > &nextNode, bool periodic)
 
 CellSetExtrude (const CellSetExtrude &src)
 
 CellSetExtrude (CellSetExtrude &&src) noexcept
 
CellSetExtrudeoperator= (const CellSetExtrude &src)
 
CellSetExtrudeoperator= (CellSetExtrude &&src) noexcept
 
 ~CellSetExtrude () override
 
viskores::Int32 GetNumberOfPlanes () const
 
viskores::Id GetNumberOfCells () const override
 Get the number of cells in the topology. More...
 
viskores::Id GetNumberOfPoints () const override
 Get the number of points in the topology. More...
 
viskores::Id GetNumberOfFaces () const override
 
viskores::Id GetNumberOfEdges () const override
 
viskores::Id2 GetSchedulingRange (viskores::TopologyElementTagCell) const
 
viskores::Id2 GetSchedulingRange (viskores::TopologyElementTagPoint) const
 
viskores::UInt8 GetCellShape (viskores::Id id) const override
 Get the shell shape of a particular cell. More...
 
viskores::IdComponent GetNumberOfPointsInCell (viskores::Id id) const override
 Get the number of points incident to a particular cell. More...
 
void GetCellPointIds (viskores::Id id, viskores::Id *ptids) const override
 Get a list of points incident to a particular cell. More...
 
std::shared_ptr< CellSetNewInstance () const override
 Return a new CellSet that is the same derived class. More...
 
void DeepCopy (const CellSet *src) override
 Copy the provided CellSet into this object. More...
 
void PrintSummary (std::ostream &out) const override
 Print a summary of this cell set. More...
 
void ReleaseResourcesExecution () override
 Remove the CellSet from any devices. More...
 
const viskores::cont::ArrayHandle< viskores::Int32 > & GetConnectivityArray () const
 
viskores::Int32 GetNumberOfPointsPerPlane () const
 
const viskores::cont::ArrayHandle< viskores::Int32 > & GetNextNodeArray () const
 
bool GetIsPeriodic () const
 
template<viskores::IdComponent NumIndices>
void GetIndices (viskores::Id index, viskores::Vec< viskores::Id, NumIndices > &ids) const
 
void GetIndices (viskores::Id index, viskores::cont::ArrayHandle< viskores::Id > &ids) const
 
viskores::exec::ConnectivityExtrude PrepareForInput (viskores::cont::DeviceAdapterId, viskores::TopologyElementTagCell, viskores::TopologyElementTagPoint, viskores::cont::Token &) const
 
viskores::exec::ReverseConnectivityExtrude PrepareForInput (viskores::cont::DeviceAdapterId, viskores::TopologyElementTagPoint, viskores::TopologyElementTagCell, viskores::cont::Token &) const
 
- Public Member Functions inherited from viskores::cont::CellSet
 CellSet ()=default
 
 CellSet (const CellSet &)=default
 
 CellSet (CellSet &&) noexcept=default
 
CellSetoperator= (const CellSet &)=default
 
CellSetoperator= (CellSet &&) noexcept=default
 
virtual ~CellSet ()
 

Private Member Functions

void BuildReverseConnectivity ()
 

Private Attributes

bool IsPeriodic
 
viskores::Int32 NumberOfPointsPerPlane
 
viskores::Int32 NumberOfCellsPerPlane
 
viskores::Int32 NumberOfPlanes
 
viskores::cont::ArrayHandle< viskores::Int32Connectivity
 
viskores::cont::ArrayHandle< viskores::Int32NextNode
 
bool ReverseConnectivityBuilt
 
viskores::cont::ArrayHandle< viskores::Int32RConnectivity
 
viskores::cont::ArrayHandle< viskores::Int32ROffsets
 
viskores::cont::ArrayHandle< viskores::Int32RCounts
 
viskores::cont::ArrayHandle< viskores::Int32PrevNode
 

Detailed Description

Defines a 3-dimensional extruded mesh representation.

CellSetExtrude takes takes a mesh defined in the XZ-plane and extrudes it along the Y-axis. This plane is repeated in a series of steps and forms wedge cells between them.

The extrusion can be linear or rotational (e.g., to form a torus).

Member Typedef Documentation

◆ ExecConnectivityType

template<typename VisitTopology , typename IncidentTopology >
using viskores::cont::CellSetExtrude::ExecConnectivityType = typename detail::CellSetExtrudeConnectivityChooser<VisitTopology, IncidentTopology>::ExecConnectivityType

Constructor & Destructor Documentation

◆ CellSetExtrude() [1/4]

viskores::cont::CellSetExtrude::CellSetExtrude ( )

◆ CellSetExtrude() [2/4]

viskores::cont::CellSetExtrude::CellSetExtrude ( const viskores::cont::ArrayHandle< viskores::Int32 > &  conn,
viskores::Int32  numberOfPointsPerPlane,
viskores::Int32  numberOfPlanes,
const viskores::cont::ArrayHandle< viskores::Int32 > &  nextNode,
bool  periodic 
)

◆ CellSetExtrude() [3/4]

viskores::cont::CellSetExtrude::CellSetExtrude ( const CellSetExtrude src)

◆ CellSetExtrude() [4/4]

viskores::cont::CellSetExtrude::CellSetExtrude ( CellSetExtrude &&  src)
noexcept

◆ ~CellSetExtrude()

viskores::cont::CellSetExtrude::~CellSetExtrude ( )
override

Member Function Documentation

◆ BuildReverseConnectivity()

void viskores::cont::CellSetExtrude::BuildReverseConnectivity ( )
private

◆ DeepCopy()

void viskores::cont::CellSetExtrude::DeepCopy ( const CellSet src)
overridevirtual

Copy the provided CellSet into this object.

The provided CellSet must be the same type as this one.

Implements viskores::cont::CellSet.

◆ GetCellPointIds()

void viskores::cont::CellSetExtrude::GetCellPointIds ( viskores::Id  id,
viskores::Id ptids 
) const
overridevirtual

Get a list of points incident to a particular cell.

Implements viskores::cont::CellSet.

◆ GetCellShape()

viskores::UInt8 viskores::cont::CellSetExtrude::GetCellShape ( viskores::Id  id) const
overridevirtual

Get the shell shape of a particular cell.

Implements viskores::cont::CellSet.

◆ GetConnectivityArray()

const viskores::cont::ArrayHandle<viskores::Int32>& viskores::cont::CellSetExtrude::GetConnectivityArray ( ) const
inline

◆ GetIndices() [1/2]

void viskores::cont::CellSetExtrude::GetIndices ( viskores::Id  index,
viskores::cont::ArrayHandle< viskores::Id > &  ids 
) const

◆ GetIndices() [2/2]

template<viskores::IdComponent NumIndices>
void viskores::cont::CellSetExtrude::GetIndices ( viskores::Id  index,
viskores::Vec< viskores::Id, NumIndices > &  ids 
) const

◆ GetIsPeriodic()

bool viskores::cont::CellSetExtrude::GetIsPeriodic ( ) const
inline

◆ GetNextNodeArray()

const viskores::cont::ArrayHandle<viskores::Int32>& viskores::cont::CellSetExtrude::GetNextNodeArray ( ) const
inline

◆ GetNumberOfCells()

viskores::Id viskores::cont::CellSetExtrude::GetNumberOfCells ( ) const
overridevirtual

Get the number of cells in the topology.

Implements viskores::cont::CellSet.

◆ GetNumberOfEdges()

viskores::Id viskores::cont::CellSetExtrude::GetNumberOfEdges ( ) const
overridevirtual

◆ GetNumberOfFaces()

viskores::Id viskores::cont::CellSetExtrude::GetNumberOfFaces ( ) const
overridevirtual

◆ GetNumberOfPlanes()

viskores::Int32 viskores::cont::CellSetExtrude::GetNumberOfPlanes ( ) const

◆ GetNumberOfPoints()

viskores::Id viskores::cont::CellSetExtrude::GetNumberOfPoints ( ) const
overridevirtual

Get the number of points in the topology.

Implements viskores::cont::CellSet.

◆ GetNumberOfPointsInCell()

viskores::IdComponent viskores::cont::CellSetExtrude::GetNumberOfPointsInCell ( viskores::Id  id) const
overridevirtual

Get the number of points incident to a particular cell.

Implements viskores::cont::CellSet.

◆ GetNumberOfPointsPerPlane()

viskores::Int32 viskores::cont::CellSetExtrude::GetNumberOfPointsPerPlane ( ) const
inline

◆ GetSchedulingRange() [1/2]

viskores::Id2 viskores::cont::CellSetExtrude::GetSchedulingRange ( viskores::TopologyElementTagCell  ) const

◆ GetSchedulingRange() [2/2]

viskores::Id2 viskores::cont::CellSetExtrude::GetSchedulingRange ( viskores::TopologyElementTagPoint  ) const

◆ NewInstance()

std::shared_ptr<CellSet> viskores::cont::CellSetExtrude::NewInstance ( ) const
overridevirtual

Return a new CellSet that is the same derived class.

Implements viskores::cont::CellSet.

◆ operator=() [1/2]

CellSetExtrude& viskores::cont::CellSetExtrude::operator= ( CellSetExtrude &&  src)
noexcept

◆ operator=() [2/2]

CellSetExtrude& viskores::cont::CellSetExtrude::operator= ( const CellSetExtrude src)

◆ PrepareForInput() [1/2]

◆ PrepareForInput() [2/2]

◆ PrintSummary()

void viskores::cont::CellSetExtrude::PrintSummary ( std::ostream &  ) const
overridevirtual

Print a summary of this cell set.

Implements viskores::cont::CellSet.

◆ ReleaseResourcesExecution()

void viskores::cont::CellSetExtrude::ReleaseResourcesExecution ( )
overridevirtual

Remove the CellSet from any devices.

Any memory used on a device to store this object will be deleted. However, the data will still remain on the host.

Implements viskores::cont::CellSet.

Member Data Documentation

◆ Connectivity

viskores::cont::ArrayHandle<viskores::Int32> viskores::cont::CellSetExtrude::Connectivity
private

◆ IsPeriodic

bool viskores::cont::CellSetExtrude::IsPeriodic
private

◆ NextNode

viskores::cont::ArrayHandle<viskores::Int32> viskores::cont::CellSetExtrude::NextNode
private

◆ NumberOfCellsPerPlane

viskores::Int32 viskores::cont::CellSetExtrude::NumberOfCellsPerPlane
private

◆ NumberOfPlanes

viskores::Int32 viskores::cont::CellSetExtrude::NumberOfPlanes
private

◆ NumberOfPointsPerPlane

viskores::Int32 viskores::cont::CellSetExtrude::NumberOfPointsPerPlane
private

◆ PrevNode

viskores::cont::ArrayHandle<viskores::Int32> viskores::cont::CellSetExtrude::PrevNode
private

◆ RConnectivity

viskores::cont::ArrayHandle<viskores::Int32> viskores::cont::CellSetExtrude::RConnectivity
private

◆ RCounts

viskores::cont::ArrayHandle<viskores::Int32> viskores::cont::CellSetExtrude::RCounts
private

◆ ReverseConnectivityBuilt

bool viskores::cont::CellSetExtrude::ReverseConnectivityBuilt
private

◆ ROffsets

viskores::cont::ArrayHandle<viskores::Int32> viskores::cont::CellSetExtrude::ROffsets
private

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