41 #ifndef OBJECTS_MMDB3_BIOSTRUC_FEATURE_BASE_HPP
42 #define OBJECTS_MMDB3_BIOSTRUC_FEATURE_BASE_HPP
54 #ifndef BEGIN_objects_SCOPE
55 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
56 # define END_objects_SCOPE END_SCOPE(objects)
113 eType_interaction = 8,
114 eType_subgraph = 100,
117 eType_supercore = 103,
121 eType_transform = 153,
124 eType_alignment = 200,
125 eType_similarity = 201,
126 eType_multalign = 202,
127 eType_indirect = 203,
128 eType_cn3dstate = 254,
172 void ResetSelection(
void);
178 E_Choice Which(
void)
const;
184 void CheckSelected(E_Choice index)
const;
190 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
198 static string SelectionName(E_Choice index);
233 bool IsColor(
void)
const;
259 bool IsRender(
void)
const;
286 bool IsTransform(
void)
const;
312 bool IsCamera(
void)
const;
318 const TCamera& GetCamera(
void)
const;
338 bool IsScript(
void)
const;
344 const TScript& GetScript(
void)
const;
364 bool IsUser(
void)
const;
370 const TUser& GetUser(
void)
const;
376 TUser& SetUser(
void);
393 static const char*
const sm_SelectionNames[];
437 void ResetSelection(
void);
443 E_Choice Which(
void)
const;
449 void CheckSelected(E_Choice index)
const;
455 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
463 static string SelectionName(E_Choice index);
498 bool IsSubgraph(
void)
const;
504 const TSubgraph& GetSubgraph(
void)
const;
524 bool IsRegion(
void)
const;
530 const TRegion& GetRegion(
void)
const;
550 bool IsAlignment(
void)
const;
576 bool IsInteraction(
void)
const;
602 bool IsSimilarity(
void)
const;
628 bool IsIndirect(
void)
const;
634 const TIndirect& GetIndirect(
void)
const;
657 static const char*
const sm_SelectionNames[];
689 bool IsSetId(
void)
const;
696 bool CanGetId(
void)
const;
726 bool IsSetName(
void)
const;
733 bool CanGetName(
void)
const;
736 void ResetName(
void);
742 const TName& GetName(
void)
const;
755 TName& SetName(
void);
764 bool IsSetType(
void)
const;
771 bool CanGetType(
void)
const;
774 void ResetType(
void);
780 TType GetType(
void)
const;
792 TType& SetType(
void);
801 bool IsSetProperty(
void)
const;
808 bool CanGetProperty(
void)
const;
811 void ResetProperty(
void);
817 const TProperty& GetProperty(
void)
const;
838 bool IsSetLocation(
void)
const;
845 bool CanGetLocation(
void)
const;
848 void ResetLocation(
void);
854 const TLocation& GetLocation(
void)
const;
869 virtual void Reset(
void);
904 if ( m_choice != index )
905 ThrowInvalidSelection(index);
914 DoSelect(index, pool);
921 Select(index, reset, 0);
927 return m_choice == e_Color;
933 return m_choice == e_Render;
939 CheckSelected(e_Render);
960 return m_choice == e_Transform;
966 return m_choice == e_Camera;
972 return m_choice == e_Script;
978 return m_choice == e_User;
990 if ( m_choice != index )
991 ThrowInvalidSelection(index);
1000 DoSelect(index, pool);
1007 Select(index, reset, 0);
1013 return m_choice == e_Subgraph;
1019 return m_choice == e_Region;
1025 return m_choice == e_Alignment;
1031 return m_choice == e_Interaction;
1037 return m_choice == e_Similarity;
1043 return m_choice == e_Indirect;
1119 m_Name = std::forward<CBiostruc_feature_Base::TName>(
value);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
An explicitly specified type in Biostruc-feature allows for efficient extraction and indexing of feat...
CChem_graph_interaction –.
Base class for all serializable objects.
CRgbaColor & GetColor(CSeqFeatData::ESubtype subtype)
static char UnassignedByte(void)
void ThrowUnassigned(TMemberIndex index) const
#define ENUM_METHOD_NAME(EnumName)
static string UnassignedString(void)
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_MMDB3_EXPORT
bool IsSetProperty(void) const
Check if a value has been assigned to Property data member.
E_Choice Which(void) const
Which variant is currently selected.
const TId & GetId(void) const
Get the Id member data.
CChem_graph_alignment TAlignment
TId & SetId(void)
Assign a value to Id data member.
bool IsTransform(void) const
Check if variant Transform is selected.
CBiostruc_feature_Base & operator=(const CBiostruc_feature_Base &)
E_Choice Which(void) const
Which variant is currently selected.
TName & SetName(void)
Assign a value to Name data member.
CBiostruc_feature_id m_Id
C_Property(const C_Property &)
bool IsColor(void) const
Check if variant Color is selected.
bool IsUser(void) const
Check if variant User is selected.
TRender & SetRender(void)
Select the variant.
CChem_graph_pntrs TSubgraph
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
bool IsSetLocation(void) const
Check if a value has been assigned to Location data member.
const TProperty & GetProperty(void) const
Get the Property member data.
bool IsSubgraph(void) const
Check if variant Subgraph is selected.
const TLocation & GetLocation(void) const
Get the Location member data.
bool CanGetId(void) const
Check if it is safe to call GetId method.
C_Property & operator=(const C_Property &)
bool IsSimilarity(void) const
Check if variant Similarity is selected.
TRender GetRender(void) const
Get the variant data.
CRegion_similarity TSimilarity
bool CanGetName(void) const
Check if it is safe to call GetName method.
CRef< TProperty > m_Property
C_Location & operator=(const C_Location &)
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
bool CanGetType(void) const
Check if it is safe to call GetType method.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
NCBI_NS_NCBI::CSerialObject * m_object
CChem_graph_interaction TInteraction
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
bool IsAlignment(void) const
Check if variant Alignment is selected.
C_Location(const C_Location &)
NCBI_NS_NCBI::CSerialObject * m_object
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
void ResetId(void)
Reset Id data member.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
const TName & GetName(void) const
Get the Name member data.
CRef< TLocation > m_Location
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
bool IsIndirect(void) const
Check if variant Indirect is selected.
CBiostruc_feature_Base(const CBiostruc_feature_Base &)
TType & SetType(void)
Assign a value to Type data member.
bool IsSetType(void) const
Check if a value has been assigned to Type data member.
bool IsRegion(void) const
Check if variant Region is selected.
TType GetType(void) const
Get the Type member data.
bool IsInteraction(void) const
Check if variant Interaction is selected.
bool IsRender(void) const
Check if variant Render is selected.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
bool IsSetId(void) const
Check if a value has been assigned to Id data member.
bool IsScript(void) const
Check if variant Script is selected.
bool CanGetProperty(void) const
Check if it is safe to call GetProperty method.
DECLARE_INTERNAL_TYPE_INFO()
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
bool CanGetLocation(void) const
Check if it is safe to call GetLocation method.
DECLARE_INTERNAL_TYPE_INFO()
bool IsCamera(void) const
Check if variant Camera is selected.
DECLARE_INTERNAL_TYPE_INFO()
void ResetType(void)
Reset Type data member.
const GenericPointer< typename T::ValueType > T2 value