Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ifragmentmodule.h
1 #pragma once
2 // ifragmentmodule.h
3 #include "base/src/basedef.h"
4 #include "base/src/farray.h"
5 
6 namespace itasca {
7  class IContainer;
8 }
9 
10 namespace itascaxd {
11  class IContact;
12  class IFragment;
13  class IBody;
14  class Range;
15  using namespace itasca;
16 
18  public:
19  virtual int getNbFragments(double ) const =0;
20  virtual void setIgnoreBond(bool) = 0;
21  virtual bool getIgnoreBond() = 0;
22  virtual void assignContact(IContact *) = 0;
23  virtual void removeContact(IContact * co) = 0;
24  virtual void registerBodyContainer(itasca::IContainer*) = 0;
25  virtual void registerContactContainer(TType, itasca::IContainer* , Range& r,bool fast=false) = 0;
26  virtual int getFragmentIndex(IBody*, double ) = 0;
27  virtual const IContainer* getIContainerFragment() const = 0;
28  virtual IContainer* getIContainerFragment() = 0;
29  virtual void getFragmentAtState( double state, FArray<IFragment *>* list ) = 0 ;
30  virtual bool checkAddContact( IContact * co ) = 0 ;
31  virtual QMap<double,quint64> getHistory( IBody* bd ) = 0 ;
32  virtual DVect getFragmentPosition( IFragment * cl, double state ) = 0;
33  virtual uint getFragmentNbelem( IFragment * cl, double state ) = 0;
34  virtual double getFragmentVolume( IFragment * cl, double state ) = 0;
35  virtual QVector<const IBody*> verticesOfFragment( IFragment * cl ) = 0;
36  virtual QVector<const IBody*> constructListVertices( IFragment * cl, double state ) = 0;
37  virtual QVector<double> getActiveStates() = 0;
38  virtual QVector<QPair<quint64,double> > getFragmentTimes() const = 0;
39  virtual double fragmentTimeFromNumber(int i) const = 0;
40  virtual int fragmentCycleFromNumber(int i) const = 0;
41  virtual int fragmentNumberFromTime(const double &d,bool closest=false) const = 0;
42 
43  };
44 
45 } // namespace itascaxd
46 // EoF
namespace Itasca
Definition: basememory.cpp:9
An array class that attempts to minimize unnecessary heap access.
Definition: ifragmentmodule.h:17
unsigned int TType
class type indicator
Definition: basedef.h:41
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Definition: ifragment.h:14
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
Interface for containers of IThings.
Definition: icontainer.h:23
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
Contact class.
Definition: icontact.h:34
Base type definitions - if QT is not in use.
Definition: ibody.h:20