const AABB& Node::worldAABB() const { evaluateBounds(); return _bounds; }
returnValue Constraint::evaluate( const OCPiterate& iter ) { if( grid.getNumPoints() == 0 ) return ACADOERROR(RET_MEMBER_NOT_INITIALISED); uint run1; returnValue returnvalue; // EVALUATE BOUNDARY CONSTRAINS: // ----------------------------- if( boundary_constraint->getNC() != 0 ) { returnvalue = boundary_constraint->init( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); returnvalue = boundary_constraint->evaluate( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); } // EVALUATE COUPLED PATH CONSTRAINS: // --------------------------------- if( coupled_path_constraint->getNC() != 0 ) { returnvalue = coupled_path_constraint->init( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); returnvalue = coupled_path_constraint->evaluate( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); } // EVALUATE PATH CONSTRAINS: // ------------------------- if( path_constraint->getNC() != 0 ) { returnvalue = path_constraint->init( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); returnvalue = path_constraint->evaluate( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); } // EVALUATE ALGEBRAIC CONSISTENCY CONSTRAINS: // ------------------------------------------ if( algebraic_consistency_constraint->getNC() != 0 ) { returnvalue = algebraic_consistency_constraint->init( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); returnvalue = algebraic_consistency_constraint->evaluate( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); } // EVALUATE POINT CONSTRAINS: // -------------------------- if( point_constraints != 0 ) { for( run1 = 0; run1 < grid.getNumPoints(); run1++ ) { if( point_constraints[run1] != 0 ) { returnvalue = point_constraints[run1]->init( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); returnvalue = point_constraints[run1]->evaluate( iter ); if( returnvalue != SUCCESSFUL_RETURN ) return ACADOERROR(returnvalue); } } } // EVALUATE BOUNDS: // ---------------- return evaluateBounds( iter ); }