i1.second < i2.second;
64 while( !objs_temp.empty() ) {
65TObjectList::iterator iter = objs_temp.begin();
66 while(iter != objs_temp.end()) {
76 if(f_iter == height.
end()) {
77h = height.rbegin()->second;
78}
else if((upper = f_iter->first) >= range.
GetTo()) {
79h = (--f_iter)->second;
83right =
max(right, range.
GetTo());
86 if(upper > range.
GetTo()) {
87height[range.
GetTo()] = h;
89iter = objs_temp.
erase(iter);
99 while(i_next != height.
end()) {
100 while(i_next != height.
end() &&
101(i_curr->second > i_pre->second ||
102i_curr->second > i_next->second)) {
107 if(i_next == height.
end()) {
108 if(i_curr->second < i_pre->second) {
109i_curr->second = i_pre->second;
113 TModelUnit max= std::max<TModelUnit>(i_pre->second, i_next->second);
114 TModelUnit min= std::min<TModelUnit>(i_pre->second, i_next->second);
115i_curr->second = i_curr->second ==
min?
max:
min;
116 while(i_next != height.
end() &&
117i_curr->second <= i_next->second) {
123i_next = i_curr = height.
begin();
125 while(i_next != height.
end()) {
126 while(i_next != height.
end() && i_curr->second != i_next->second) {
130 if(i_next != height.
end()) {
131height.
erase(i_next);
141 bound.m_Width = right - left;
TSeqPos m_MinDist
The minimum distance we permit two items to be within, horizontally.
virtual void BuildLayout(CLayoutGroup &group, SBoundingBox &bound) const
Build layout for a list of layout objects.
CLayoutGroup is a container of CSeqGlyphs (layout objects).
ILayoutPolicy::TObjectList TObjectList
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
virtual TModelUnit GetRight() const
virtual TModelUnit GetHeight() const
virtual void SetTop(TModelUnit b)
virtual TModelUnit GetLeft() const
list< CRef< CSeqGlyph > > TObjectList
container_type::iterator iterator
const_iterator begin() const
const_iterator end() const
const_iterator upper_bound(const key_type &key) const
container_type::value_type value_type
static bool Height_Comparer(THeight::value_type &i1, THeight::value_type &i2)
map< TModelUnit, TModelUnit > THeight
CCompactLayout.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
void SetFrom(TFrom value)
Assign a value to From data member.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
Useful/utility classes and methods.
T bound(T x_, T xlo_, T xhi_)
static bool s_CompareCRefs(const CRef< CSeqGlyph > &ref_obj1, const CRef< CSeqGlyph > &ref_obj2)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4