|
Public Member Functions |
| NuclearFamily () |
| NuclearFamily (Individual *mother, Individual *father) |
void | addChild (Individual *child) |
bool | hasChild (Individual *child) |
void | calculateWidth (bool classicalOrder) |
void | drawVerticalDropToIndividual (DrawingCanvas &dc, Individual *pChild, double x, double y) |
void | draw (Individual *startIndividual, DrawingCanvas &dc, double startX, double startY, bool classicalOrder, bool dashedOrg=false) |
void | drawSpouseConnectors (Individual *individual, const double horizontalInterval, const double iconInterval, const double iconDiameter, DrawingCanvas &dc) |
void | sortChildrenInClassicalOrder (bool consanguinousFlag, bool mutipleDT=false) |
void | sortChildrenBasedOnDataField (const std::string &name, bool dobSortOrder) |
void | findTwinsByDOB () |
void | setTotalWidth (unsigned total) |
void | setLeftWidth (unsigned left) |
void | setRightWidth (unsigned right) |
void | setTwinGroupCount (unsigned twinGroupCount) |
void | setLeftConnectionShiftFlag (bool value) |
Individual * | getMother () |
Individual * | getFather () |
unsigned | getTotalWidth () |
unsigned | getLeftWidth () |
unsigned | getRightWidth () |
unsigned | getNumberOfChildren () |
bool | getLeftConnectionShiftFlag () |
Individual * | getChildInClassicalOrder (unsigned index) |
bool | isConsanguinous (void) |
bool | hasExternalConnection (void) |
unsigned | getTwinGroupCount (void) |
void | display () |
Private Member Functions |
void | _rearrangeIndividualsBasedOnTwins (const bool consanguinousLoop, std::deque< Individual * > &initial, std::deque< Individual * > &leftLoopIndividuals, std::deque< Individual * > &rightLoopIndividuals) |
void | _orderTwins (Individual *pivotIndividual, std::deque< Individual * > &srcLoopIndividuals, std::deque< Individual * > &dstLoopIndividuals, const std::deque< unsigned > &indices, bool front=false) |
void | _drawTwinConnectors (DrawingCanvas &dc, bool classicalOrder, double verticalDropY) |
bool | _isMaleWithLoopFlags (Individual *individual, unsigned nuclearFamilyIndex) |
bool | _hasIndividualInDeque (Individual *individual, const std::deque< Individual * > &individualQ) |
Private Attributes |
Individual * | _mother |
Individual * | _father |
Width | _width |
bool | _leftConnectionShiftFlag |
unsigned | _twinGroupCount |
std::vector< Individual * > | _childrenInClassicalOrder |
std::vector< Individual * > | _sortedChildren |