SPH
Public Member Functions | List of all members
AggregateHolder Class Reference

Holds a set of aggregates. More...

Inheritance diagram for AggregateHolder:
IAggregateObserver Noncopyable IStorageUserData Polymorphic

Public Member Functions

 AggregateHolder (Storage &storage, const AggregateEnum source)
 
AggregategetAggregate (const Size particleIdx)
 Returns the aggregate holding the given particle. More...
 
const AggregategetAggregate (const Size particleIdx) const
 Returns the aggregate holding the given particle. More...
 
void merge (Aggregate &ag1, Aggregate &ag2)
 Merges two aggregates. More...
 
void separate (Aggregate &ag, const Size idx)
 
void disband (Aggregate &ag)
 
void spin ()
 
void integrate ()
 Integrates all aggregates. More...
 
Optional< SizegetAggregateId (const Size particleIdx) const
 
virtual Size count () const override
 Returns the number of aggregates in the storage. More...
 
- Public Member Functions inherited from Polymorphic
virtual ~Polymorphic ()
 
- Public Member Functions inherited from Noncopyable
 Noncopyable ()=default
 
 Noncopyable (const Noncopyable &)=delete
 
 Noncopyable (Noncopyable &&)=default
 
Noncopyableoperator= (const Noncopyable &)=delete
 
Noncopyableoperator= (Noncopyable &&)=default
 

Detailed Description

Holds a set of aggregates.

Bound to Storage object. Thread-safe??

Definition at line 302 of file AggregateSolver.cpp.

Constructor & Destructor Documentation

◆ AggregateHolder()

AggregateHolder::AggregateHolder ( Storage storage,
const AggregateEnum  source 
)
inline

Definition at line 317 of file AggregateSolver.cpp.

Member Function Documentation

◆ count()

virtual Size AggregateHolder::count ( ) const
inlineoverridevirtual

Returns the number of aggregates in the storage.

Isolated particles do not count as an aggregate.

Implements IAggregateObserver.

Definition at line 470 of file AggregateSolver.cpp.

◆ disband()

void AggregateHolder::disband ( Aggregate ag)
inline

Definition at line 426 of file AggregateSolver.cpp.

◆ getAggregate() [1/2]

Aggregate& AggregateHolder::getAggregate ( const Size  particleIdx)
inline

Returns the aggregate holding the given particle.

Definition at line 356 of file AggregateSolver.cpp.

◆ getAggregate() [2/2]

const Aggregate& AggregateHolder::getAggregate ( const Size  particleIdx) const
inline

Returns the aggregate holding the given particle.

Definition at line 363 of file AggregateSolver.cpp.

◆ getAggregateId()

Optional<Size> AggregateHolder::getAggregateId ( const Size  particleIdx) const
inline

Definition at line 460 of file AggregateSolver.cpp.

◆ integrate()

void AggregateHolder::integrate ( )
inline

Integrates all aggregates.

Definition at line 450 of file AggregateSolver.cpp.

◆ merge()

void AggregateHolder::merge ( Aggregate ag1,
Aggregate ag2 
)
inline

Merges two aggregates.

Definition at line 392 of file AggregateSolver.cpp.

◆ separate()

void AggregateHolder::separate ( Aggregate ag,
const Size  idx 
)
inline
Todo:
?? how to do this

Definition at line 414 of file AggregateSolver.cpp.

◆ spin()

void AggregateHolder::spin ( )
inline

Definition at line 440 of file AggregateSolver.cpp.


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