MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / TclCommand_parameter

Function TclCommand_parameter

SRC/runtime/commands/domain/parameter.cpp:50–338  ·  view source on GitHub ↗

parameter tag

Source from the content-addressed store, hash-verified

48
49// parameter tag <specific parameter args>
50int
51TclCommand_parameter(ClientData clientData, Tcl_Interp *interp, Tcl_Size argc,
52 TCL_Char ** const argv)
53{
54 assert(clientData != nullptr);
55 Domain* domain = static_cast<Domain*>(clientData);
56
57
58 // ensure at least two arguments
59 if (argc < 2) {
60 opserr << "WARNING need to specify a parameter tag\n";
61 return TCL_ERROR;
62 }
63
64 // Figure out which parameter we are dealing with
65 int paramTag;
66 if (Tcl_GetInt(interp, argv[1], &paramTag) != TCL_OK) {
67 return TCL_ERROR;
68 }
69
70 Parameter *theParameter = domain->getParameter(paramTag);
71
72 // First, check special case of a blank parameter
73 if (argc == 2 && strcmp(argv[0], "parameter") == 0) {
74 Parameter *newParameter = new Parameter(paramTag, 0, 0, 0);
75
76 domain->addParameter(newParameter);
77
78 char buffer[40];
79 sprintf(buffer, "%d", paramTag);
80 Tcl_SetResult(interp, buffer, TCL_VOLATILE);
81
82 return TCL_OK;
83 }
84
85 // First, check special case of a blank parameter
86 if (argc == 3 && strcmp(argv[0], "parameter") == 0) {
87 Parameter *newParameter = new Parameter(paramTag, 0, 0, 0);
88
89 double value;
90 if (Tcl_GetDouble(interp, argv[2], &value) != TCL_OK)
91 return TCL_ERROR;
92
93 newParameter->setValue(value);
94
95 domain->addParameter(newParameter);
96
97 char buffer[40];
98 sprintf(buffer, "%d", paramTag);
99 Tcl_SetResult(interp, buffer, TCL_VOLATILE);
100
101 return TCL_OK;
102 }
103
104 int eleTag = -1;
105 bool isele = false;
106
107

Callers

nothing calls this directly

Calls 8

getParameterMethod · 0.45
addParameterMethod · 0.45
setValueMethod · 0.45
getNodeMethod · 0.45
getLoadPatternMethod · 0.45
getElementMethod · 0.45
addComponentMethod · 0.45
updateParameterMethod · 0.45

Tested by

no test coverage detected