Itasca C++ Interface
Loading...
Searching...
No Matches
isellist.h
Go to the documentation of this file.
1//isellist.h
2#pragma once
3
9#include "utility/interface/igroup.h"
11
12namespace itasca {
13 class IContainer;
14 class IThing;
15}
16namespace itascaxd {
17 class IRange;
18}
19
20namespace sel {
21 using namespace itasca;
22 using namespace itascaxd;
23
24 class ISEL;
25 class ISELNode;
26
29 class ISELList {
30 public:
31 struct SELInfo {
32 TType type_;
33 uint32 segments_;
34 double maxLen_;
35 uint64 cid_;
36 IGroupID group_;
37 TType femType_;
38 bool embedded_;
39 bool crossDiagonal_;
40 bool separated_; // All nodes on every element distince and new
41 bool snap_; // Snap to existing node position
42 IGroupID beginGroup_; // Group name to add to begin/end nodes (1D only)
43 IGroupID endGroup_;
44 bool groupEnds_ = true; // Whether to add group names to end nodes (1D only).
45 bool dowel_; // 2 links
46 bool faceplate_;
47 };
48
50 virtual const IThing *getIThing() const=0;
52 virtual IThing *getIThing()=0;
54 virtual const IContainer * getIContainer() const=0;
56 virtual IContainer * getIContainer() =0;
59 virtual const ISEL * getFirstSEL() const=0;
62 virtual ISEL * getFirstSEL()=0;
64 virtual const ISEL * findSELWithID(uint64 id) const=0;
68 virtual const ISEL * findSEL(const DVect &pos, TType type=0,
69 double radius=limits<double>::max(), bool update=true) const=0;
73 virtual ISEL * findSEL(const DVect &pos, TType type=0,
74 double radius=limits<double>::max(), bool update=true) =0;
75
77 virtual QString getKeywordFromType(TType type) const=0;
78 virtual QList<const ISEL *> getAllTypes() const=0;
79 virtual const ISEL * getRegisteredType(TType type) const=0;
80 virtual uint32 getNumberRegistered() const=0;
81 virtual uint64 getNextCollectionID() const=0;
82
84 virtual uint32 getGroupNotice() const=0;
86 virtual uint32 getPropertyNotice() const=0;
88 virtual uint32 getStateNotice() const=0;
90 virtual uint32 getForceNotice() const=0;
92 virtual uint32 getFISHNotice() const=0;
94 virtual uint32 getPressureNotice() const=0;
96 virtual uint32 getHideNotice() const=0;
98 virtual uint32 getSelectNotice() const=0;
99#ifdef THREED
104 virtual uint32 claimResultantStorage()=0;
106 virtual void releaseResultantStorage( uint32 index )=0;
108 virtual void markItemsInRange( uint32 index, const IRange *ran, TType type )=0;
113 virtual bool recoverSurfaceSystem( uint32 index, const DVect3 &surfX, bool exceptionsAllowed,
114 QString *error, TType type )=0;
117 virtual bool recoverStressResultants( uint32 index, bool exceptionsAllowed,
118 QString *error, TType type )=0;
123 virtual bool recoverStress( uint32 index, const double &depth, bool exceptionsAllowed,
124 QString *error, TType type )=0;
125#endif
126 virtual void setForceUpdate(bool b)=0;
127 virtual bool getWasUpdated() const=0;
128
129 virtual std::vector<base::PropDesc> getAvailableProperties(TType type) const =0;
130 virtual uint32 getPropertyIndexFast(const ISEL &sel,const string &name,uint32 thread) const =0;
131 virtual bool isPropertyConstant( const QString &propName, TType type ) const =0;
132 };
133} // namespace sel
134// EoF
135
Definition idef.h:50
Interface for containers of IThings.
Definition icontainer.h:21
Definition igroup.h:82
Base class for items that will be stored in containers.
Definition ithing.h:30
Interface to a filter, used as the main method for filtering objects.
Definition irange.h:32
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
Interface to the structural elements base class.
Definition isel.h:22
Interface to the global list of all structural elements.
Definition isellist.h:29
virtual const IContainer * getIContainer() const =0
Returns a const pointer to the IContainer interface representing global list of SELs.
virtual const ISEL * findSELWithID(uint64 id) const =0
Given a strucutal elemnent id, returns a const pointer to the structural element.
virtual uint32 getFISHNotice() const =0
Returns the tag for the structural element extra variable change notice.
virtual const ISEL * getFirstSEL() const =0
virtual const ISEL * findSEL(const DVect &pos, TType type=0, double radius=limits< double >::max(), bool update=true) const =0
virtual uint32 getSelectNotice() const =0
Returns the tag for the structural element select change notice.
virtual uint32 getStateNotice() const =0
Returns the tag for the structural element state change notice.
virtual uint32 getForceNotice() const =0
Returns the tag for the structural element applied force change notice.
virtual uint32 getHideNotice() const =0
Returns the tag for the structural element hide change notice.
virtual uint32 getPressureNotice() const =0
Returns the tag for the structural element pressure change notice.
virtual uint32 getPropertyNotice() const =0
Returns the tag for the structural element property change notice.
virtual uint32 getGroupNotice() const =0
Returns the tag for the structural element group change notice.
virtual IContainer * getIContainer()=0
Returns a pointer to the IContainer interface representing global list of SELs.
virtual const IThing * getIThing() const =0
Returns a const IThing pointer.
virtual ISEL * getFirstSEL()=0
virtual QString getKeywordFromType(TType type) const =0
Returns the general SEL type.
virtual IThing * getIThing()=0
Returns a IThing pointer.
virtual ISEL * findSEL(const DVect &pos, TType type=0, double radius=limits< double >::max(), bool update=true)=0
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
Interface for geometric objects export-imports.
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4
Definition isellist.h:31