|
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 |