| 318 | } |
| 319 | |
| 320 | int |
| 321 | TclCommand_getNDF(ClientData clientData, Tcl_Interp *interp, int argc, TCL_Char ** const argv) |
| 322 | { |
| 323 | assert(clientData != nullptr); |
| 324 | BasicModelBuilder* builder = static_cast<BasicModelBuilder*>(clientData); |
| 325 | Domain *the_domain = builder->getDomain(); |
| 326 | int ndf; |
| 327 | |
| 328 | if (argc > 1) { |
| 329 | int tag; |
| 330 | if (Tcl_GetInt(interp, argv[1], &tag) != TCL_OK) { |
| 331 | opserr << OpenSees::PromptValueError << "ndf nodeTag? \n"; |
| 332 | return TCL_ERROR; |
| 333 | } |
| 334 | Node *theNode = the_domain->getNode(tag); |
| 335 | if (theNode == nullptr) { |
| 336 | opserr << OpenSees::PromptValueError << "nodeTag " << tag << " does not exist \n"; |
| 337 | return TCL_ERROR; |
| 338 | } |
| 339 | ndf = theNode->getNumberDOF(); |
| 340 | |
| 341 | } else { |
| 342 | ndf = builder->getNDF(); |
| 343 | } |
| 344 | |
| 345 | char buffer[G3_NUM_DOF_BUFFER]; |
| 346 | sprintf(buffer, "%d", ndf); |
| 347 | |
| 348 | Tcl_AppendResult(interp, buffer, NULL); |
| 349 | |
| 350 | return TCL_OK; |
| 351 | } |
nothing calls this directly
no test coverage detected