Functions | |
| ArgList_pa | TecUtilArgListAlloc (void) |
| Allocate an argument list. | |
| void | TecUtilArgListClear (ArgList_pa ArgList) |
| Clear all arguments from an argument list. | |
| Boolean_t | TecUtilArgListAppendInt (ArgList_pa ArgList, const char *Name, LgIndex_t Value) |
| Append an integer parameter to an argument list. | |
| Boolean_t | TecUtilArgListAppendArbParam (ArgList_pa ArgList, const char *Name, ArbParam_t Value) |
| Append an ArbParam_t type parameter to an argument list. | |
| Boolean_t | TecUtilArgListAppendArbParamPtr (ArgList_pa ArgList, const char *Name, ArbParam_t *Value) |
| Appends an ArbParam_t pointer parameter to an argument list. | |
| Boolean_t | TecUtilArgListAppendDouble (ArgList_pa ArgList, const char *Name, double Value) |
| Append a double parameter to an argument list. | |
| Boolean_t | TecUtilArgListAppendDoublePtr (ArgList_pa ArgList, const char *Name, double *Value) |
| Appends a double pointer parameter to an argument list. | |
| Boolean_t | TecUtilArgListAppendString (ArgList_pa ArgList, const char *Name, const char *Value) |
| Append a string to an argument list. | |
| Boolean_t | TecUtilArgListAppendArray (ArgList_pa ArgList, const char *Name, const void *Value) |
| Appends a named array to the argument list. | |
| Boolean_t | TecUtilArgListAppendSet (ArgList_pa ArgList, const char *Name, Set_pa Value) |
| Append a named set to an argument list. | |
| Boolean_t | TecUtilArgListAppendStringList (ArgList_pa ArgList, const char *Name, StringList_pa StringList) |
| Append a named string list to an argument list. | |
| Boolean_t | TecUtilArgListAppendFunction (ArgList_pa ArgList, const char *Name, const void *Value) |
| Append a named function pointer to an argument list. | |
| void | TecUtilArgListDealloc (ArgList_pa *ArgList) |
| Deallocate an argument list. | |
| Boolean_t | TecUtilZoneDelete (Set_pa ZoneList) |
| Boolean_t | TecUtilDataSetDeleteZone (Set_pa ZoneList) |
| Deletes the specified set of zones. | |
| Boolean_t | TecUtilDataSetDeleteVar (Set_pa VarList) |
| Deletes the specified set of variables. | |
| Boolean_t | TecUtilReadDataSet (ReadDataOption_e ReadDataOption, Boolean_t ResetStyle, StringList_pa FileNamesOrInstructions, const char *DataSetReader, PlotType_e InitialPlotType, Boolean_t IncludeText, Boolean_t IncludeGeom, Boolean_t IncludeCustomLabels, Boolean_t IncludeData, Boolean_t CollapseZonesAndVars, Set_pa ZonesToRead, VarLoadMode_e VarLoadMode, Set_pa VarPositionList, StringList_pa VarNameList, LgIndex_t ISkip, LgIndex_t JSkip, LgIndex_t KSkip) |
| Read one or more data files into Tecplot to form a new data set in the current frame. | |
| Boolean_t | TecUtilDataSetReadX (ArgList_pa ArgList) |
| Read one or more data files into Tecplot to form a new data set in the current frame. | |
| Boolean_t | TecUtilDataSetWriteX (ArgList_pa ArgList) |
| Write the specified components of the current frame's data set to a file. | |
| Boolean_t | TecUtilWriteDataSet (const char *FName, Boolean_t IncludeText, Boolean_t IncludeGeom, Boolean_t IncludeCustomLabels, Boolean_t IncludeData, Set_pa ZonesToWrite, Set_pa VarsToWrite, Boolean_t WriteBinary, Boolean_t UsePointFormat, SmInteger_t AsciiPrecision) |
| Write the data set attached to the current frame to a file. | |
| Boolean_t | TecUtilCreateRectangularZone (LgIndex_t IMax, LgIndex_t JMax, LgIndex_t KMax, double XMin, double YMin, double ZMin, double XMax, double YMax, double ZMax, FieldDataType_e FieldDataType) |
| Create a rectangular zone. | |
| Boolean_t | TecUtilCreateCircularZone (LgIndex_t IMax, LgIndex_t JMax, LgIndex_t KMax, double XOrigin, double YOrigin, double Radius, double ZMin, double ZMax, FieldDataType_e FieldDataType) |
| Create a circular (or cylindrical) IJ- or IJK-ordered zone. | |
| Boolean_t | TecUtilCreateSphericalZone (LgIndex_t IMax, LgIndex_t JMax, double XOrigin, double YOrigin, double ZOrigin, double Radius, FieldDataType_e FieldDataType) |
| Create a Spherical IJ-ordered zone. | |
| Boolean_t | TecUtilCreateSimpleXYZone (LgIndex_t NumPoints, const double *XValues, const double *YValues, FieldDataType_e FieldDataType) |
| Boolean_t | TecUtilCreateSimpleZone (LgIndex_t NumPoints, const double *V1Values, const double *V2Values, FieldDataType_e FieldDataType) |
| Create a new zone by specifying only a list of XY pairs of data. | |
| Boolean_t | TecUtilSaveLayout (const char *FName, Boolean_t UseRelativePaths) |
| Save the current layout to a file. | |
| Boolean_t | TecUtilWriteStylesheet (const char *FName, Boolean_t IncludePlotStyle, Boolean_t IncludeText, Boolean_t IncludeGeom, Boolean_t IncludeStreamPositions, Boolean_t IncludeContourLevels, Boolean_t IncludeFactoryDefaults) |
| Write the style for the current frame to a file. | |
| Boolean_t | TecUtilDataValueSetByZoneVar (EntIndex_t Zone, EntIndex_t Var, LgIndex_t PointIndex, double Value) |
| Assign a value to a field variable at a specific position. | |
| Boolean_t | TecUtilDataAlter (const char *Equation, Set_pa ZoneSet, LgIndex_t IMin, LgIndex_t IMax, LgIndex_t ISkip, LgIndex_t JMin, LgIndex_t JMax, LgIndex_t JSkip, LgIndex_t KMin, LgIndex_t KMax, LgIndex_t KSkip, FieldDataType_e DestDataType) |
| Operates on a data set within Tecplot using FORTRAN-like equations. | |
| Boolean_t | TecUtilSmooth (EntIndex_t Zone, EntIndex_t SmoothVar, LgIndex_t NumSmoothPasses, double SmoothWeight, BoundaryCondition_e SmoothBndryCond) |
| Smooth data (that is, reduce the spikes) for selected variables in selected zones. | |
| Boolean_t | TecUtilCurveWriteInfo (const char *FileName, EntIndex_t LineMap, CurveInfoMode_e CurveInfoMode) |
| Write out the coefficients or the calculated data points for the equations used to draw the curve for a selected line-mapping. | |
| Boolean_t | TecUtilZoneCopyX (ArgList_pa ArgList) |
| Make a copy of a zone. | |
| Boolean_t | TecUtilZoneCopy (EntIndex_t ZoneUsed, LgIndex_t IMin, LgIndex_t IMax, LgIndex_t ISkip, LgIndex_t JMin, LgIndex_t JMax, LgIndex_t JSkip, LgIndex_t KMin, LgIndex_t KMax, LgIndex_t KSkip) |
| Make a copy of an existing zone. | |
| Boolean_t | TecUtilCreateMirrorZones (Set_pa SourceZones, char MirrorVar) |
| Create new zones that are mirror images of the source zones. | |
| Boolean_t | TecUtilCreateStreamZones (Boolean_t ConcatenateStreams) |
| Create one or more zones out of the currently defined streamtraces. | |
| Boolean_t | TecUtilCreateIsoZones (void) |
| Create finite element surface zones out of iso-surfaces in volume zones. | |
| Boolean_t | TecUtilCreateSliceZones (void) |
| Create surface zones out of all slices currently defined in volume zones. | |
| Boolean_t | TecUtilCreateContourLineZones (void) |
| Create zones from contour lines. | |
| Boolean_t | TecUtilCreateContourLineZonesX (ArgList_pa ArgList) |
| Create zones from contour lines. | |
| Boolean_t | TecUtilCreateFEBoundary (EntIndex_t SourceZone, Boolean_t RemoveBlankedSurfaces) |
| Finite element volume boundaries cannot be turned on or off using the edge plot layer in Tecplot. | |
| Boolean_t | TecUtilCreateSliceZone (double OriginX, double OriginY, double OriginZ, double NormalX, double NormalY, double NormalZ) |
| Boolean_t | TecUtilCreateSliceZoneFromPlane (SliceSource_e SliceSource, double OriginX, double OriginY, double OriginZ, double NormalX, double NormalY, double NormalZ) |
| Create a new zone as a slice through the currently active zones that match the specified slice source and are intersected by a slice plane having the specified origin and normal. | |
| Boolean_t | TecUtilCreateSliceZoneFromPlneX (ArgList_pa ArgList) |
| Create a zone from a slice taken from a 3D plot. | |
| Boolean_t | TecUtilExtractFromPolyline (const double *PolylineXPts_Array, const double *PolylineYPts_Array, const double *PolylineZPts_Array, LgIndex_t NumPtsInPolyline, Boolean_t ExtractThroughVolume, Boolean_t ExtractOnlyPointsOnPolyline, Boolean_t IncludeDistanceVariable, LgIndex_t NumPtsToExtractAlongPolyline, Boolean_t ExtractToFile, const char *ExtractFName) |
| Extract data from a 2-D or 3-D field plot. | |
| Boolean_t | TecUtilExtractFromGeom (Boolean_t ExtractOnlyPointsOnPolyline, Boolean_t IncludeDistanceVariable, LgIndex_t NumPtsToExtractAlongPolyline, Boolean_t ExtractToFile, const char *ExtractFName) |
| Extract data from a 2D or 3D field plot. | |
| Boolean_t | TecUtilPolarToRectangular (Set_pa ZoneSet) |
| Boolean_t | TecUtilTransformCoordinatesX (ArgList_pa ArgList) |
| Transform Coordinates. | |
| Boolean_t | TecUtilDataRotate2D (Set_pa ZoneSet, double RotateAmountInDegrees, double XOrigin, double YOrigin) |
| Rotate field data in 2-D about any point. | |
| Boolean_t | TecUtilAverageCellCenterData (Set_pa ZoneSet, Set_pa VarSet) |
| Most plotting in Tecplot is based on using values at the corners (nodes) of each cell. | |
| Boolean_t | TecUtilLinearInterpolate (Set_pa SourceZones, EntIndex_t DestZone, Set_pa VarList, double LinearInterpConst, LinearInterpMode_e LinearInterpMode) |
| Interpolate selected variables from a set of source zones to a destination zone using linear interpolation. | |
| Boolean_t | TecUtilInverseDistInterpolation (Set_pa SourceZones, EntIndex_t DestZone, Set_pa VarList, double InvDistExponent, double InvDistMinRadius, PtSelection_e InterpPtSelection, LgIndex_t InterpNPoints) |
| Interpolate selected variables from one or more zones onto a destination zone using the inverse distance method. | |
| Boolean_t | TecUtilKrig (Set_pa SourceZones, EntIndex_t DestZone, Set_pa VarList, double KrigRange, double KrigZeroValue, Drift_e KrigDrift, PtSelection_e InterpPtSelection, LgIndex_t InterpNPoints) |
| Interpolate selected variables from a set of source zones to a destination zone using the kriging method. | |
| Boolean_t | TecUtilTriangulate (Set_pa SourceZones, Boolean_t DoBoundary, Set_pa BoundaryZones, Boolean_t IncludeBoundaryPts, LgIndex_t *NumCoincidentPts, double TriangleKeepFactor) |
| Create a new zone by forming triangles from data points in existing zones. | |
| Boolean_t | TecUtilDataSetSetTitle (const char *DataSetTitle) |
| Set the title for the current data set. | |
| Boolean_t | TecUtilVarRename (EntIndex_t VarNum, const char *VarName) |
| Rename a data set variable in Tecplot. | |
| Boolean_t | TecUtilZoneRename (EntIndex_t Zone, const char *ZoneName) |
| Rename a data set zone in Tecplot. | |
| void | TecUtilMemoryChangeNotify (Int64_t ChangeInKBytes) |
| Notify Tecplot when a significant change in memory occurs that is outside Tecplot's knowledge. | |
| Boolean_t | TecUtilExtractInstallCallback (ExtractDestination_pf ExtractDestination, const char *InformationLineText) |
| If the current frame is 2D or 3D, change the mouse mode to be the extract discrete points tool and instruct Tecplot to call a different function when the user completes an extract-like operation in the work area. | |
| Boolean_t | TecUtilDataSetCreate (const char *DataSetTitle, StringList_pa VarNames, Boolean_t ResetStyle) |
| Create a new data set and attach it to the current frame. | |
| VarLoadMode_e | TecUtilDataSetGetVarLoadMode (void) |
| Get the variable load mode for the current data set. | |
| void | TecUtilZoneSetBuildZoneOptInfo (EntIndex_t Zone, Boolean_t BuildZoneOptInfo) |
| Instruct Tecplot to either build or forgo building zone optimization information. | |
| Boolean_t | TecUtilDataSetDefVarLoadFinish (Boolean_t IsDataSetOk) |
| Boolean_t | TecUtiltDataSetDefVarLoadFinish (Boolean_t IsDataSetOk) |
| Boolean_t | TecUtilDataSetAddZone (const char *Name, LgIndex_t IMax, LgIndex_t JMax, LgIndex_t KMax, ZoneType_e ZoneType, FieldDataType_e *VarDataType_Array) |
| Add a zone to the data set attached to the current frame. | |
| Boolean_t | TecUtilDataSetAddZoneX (ArgList_pa ArgList) |
| Add a zone to the current data set. | |
| Boolean_t | TecUtilDataSetAddVarX (ArgList_pa ArgList) |
| Add a variable to the current data set. | |
| Boolean_t | TecUtilZoneRealloc (EntIndex_t Zone, LgIndex_t NewIMaxOrNumDataPoints, LgIndex_t NewJMaxOrNumElements, LgIndex_t NewKMax) |
| Reallocate the classic FE or ordered zone in the data set attached to the current frame. | |
| Boolean_t | TecUtilDataSetAddVar (const char *VarName, FieldDataType_e *FieldDataType_Array) |
| Add a variable to the current data set. | |
| Boolean_t | TecUtilDataSetAddJournalCommand (const char *CommandProcessorIDString, const char *Instructions, const char *RawData) |
| Adds a command to the data journal. | |
| Boolean_t | TecUtilDataSetAddRawJournalCom (const char *Command) |
| Adds a raw macro command to the data journal. | |
| Boolean_t | TecUtilDataSetAddPostConvInstr (const char *AddOnIDString, const char *Instructions, const char *RawData) |
| void | TecUtilDataSetSuspendMarking (Boolean_t DoSuspend) |
| Stops Tecplot for altering or marking the loaded dataset. | |
| Boolean_t | TecUtilImportAddConverter (DataSetConverter_pf ConverterCallback, const char *ConverterName, const char *FNameExtension) |
| Register a data set converter with Tecplot. | |
| Boolean_t | TecUtilImportAddLoader (DataSetLoader_pf LoaderCallback, const char *DataSetLoaderName, DynamicMenuCallback_pf LoaderSelectedCallback, DataSetLoaderInstructionOverride_pf InstructionOverrideCallback) |
| Register a data set loader with Tecplot. | |
| Boolean_t | TecUtilImportSetLoaderInstr (const char *DataSetLoaderName, StringList_pa Instructions) |
| Inform Tecplot about the instructions used to load the current data set. | |
| void | TecUtilImportWriteLoaderInstr (const char *DataSetLoaderName, StringList_pa Instructions) |
| Writes a $!READDATASET macro command to the macro file if macro recording is on. | |
| Boolean_t | TecUtilCurveRegisterExtCrvFit (const char *CurveFitName, GetLinePlotDataPointsCallback_pf GetLinePlotDataPointsCallback, GetProbeValueCallback_pf GetProbeValueCallback, GetCurveInfoStringCallback_pf GetCurveInfoStringCallback, GetCurveSettingsCallback_pf GetCurveSettingsCallback, GetAbbreviatedSettingsStringCallback_pf GetAbbreviatedSettingsStringCallback) |
| Registers an extended curve fit add-on. | |
| void | TecUtilDataLoadBegin (void) |
| Notifies Tecplot that a major data load operation is about to begin. | |
| void | TecUtilDataLoadEnd (void) |
| Notifies Tecplot that a major data load operation has completed. | |
| void | TecUtilDataValueShare (EntIndex_t SourceZone, EntIndex_t DestZone, EntIndex_t Var) |
| Sets the properties of the variable so that it is shared between source and destination zones (using the source for values). | |
| void | TecUtilDataValueCopy (EntIndex_t SourceZone, EntIndex_t DestZone, EntIndex_t Var) |
| Copies the data from the source zone's variable to the destination zone. | |
| Boolean_t | TecUtilDataValueAlloc (EntIndex_t Zone, EntIndex_t Var) |
| Allocates the space needed for the variable. | |
| Boolean_t | TecUtilDataValueCanMemMapData (EntIndex_t Zone, EntIndex_t Var, MemMapOffset_t Offset, Boolean_t IsDataNativeByteOrder) |
| Boolean_t | TecUtilDataValueMemMapData (EntIndex_t Zone, EntIndex_t Var, int FileDescriptor, MemMapOffset_t Offset, Boolean_t IsDataNativeByteOrder) |
| Boolean_t | TecUtilDataValueAutoLOD (EntIndex_t Zone, EntIndex_t Var, DataValueStructure_e DataValueStructure, const char *FileName, FileOffset_t Offset, Int64_t Stride, Boolean_t IsDataNativeByteOrder) |
| Specifies where in the data file the data for the specified variable resides. | |
| ArbParam_t | TecUtilDataValueGetClientData (FieldData_pa FieldData) |
| Return the custom load-on-demand client data from a field data handle. | |
| Boolean_t | TecUtilDataValueCustomLOD (EntIndex_t Zone, EntIndex_t Var, LoadOnDemandVarLoad_pf VariableLoad, LoadOnDemandVarUnload_pf VariableUnload, LoadOnDemandVarCleanup_pf VariableCleanup, FieldValueGetFunction_pf GetValueFunction, FieldValueSetFunction_pf SetValueFunction, ArbParam_t ClientData) |
| Registers with Tecplot the load-on-demand callbacks and client data for a specific variable. | |
| Boolean_t | TecUtilDataValueUnload (EntIndex_t Zone, EntIndex_t Var) |
| Instructs Tecplot to unload the variable. | |
| Boolean_t | TecUtilDataValueBranchShared (EntIndex_t Zone, EntIndex_t Var) |
| Branch off a shared variable. | |
| void | TecUtilDataConnectShare (EntIndex_t SourceZone, EntIndex_t DestZone) |
| Sets the properties of the connectivity so that it is shared between source and destination zones (using the source for values). | |
| Boolean_t | TecUtilDataConnectBranchShared (EntIndex_t Zone) |
| Branch the connectivity information. | |
| void | TecUtilDataValueArraySetByRef (FieldData_pa DestFieldData, LgIndex_t DestOffset, LgIndex_t DestCount, void *SourceValueArray) |
| Copies the specified number of values from the base of the source value array to the destination field data starting at the specified offset. | |
| void | TecUtilDataValueSetByRef (FieldData_pa FD, LgIndex_t PointIndex, double Value) |
| Assign a value to a field variable at a specific position. | |
| void | TecUtilDataValueSetMinMaxByRef (FieldData_pa FieldData, double MinValue, double MaxValue) |
| Set the minimum and maximum values for a tecplot variable using a field data reference. | |
| void | TecUtilDataValueSetMinMaxByZoneVar (EntIndex_t Zone, EntIndex_t Var, double MinValue, double MaxValue) |
| Set the minimum and maximum values for a tecplot variable using a zone and variable number. | |
| void | TecUtilDataNodeSetByZone (EntIndex_t Zone, LgIndex_t Element, LgIndex_t Corner, NodeMap_t Node) |
| Set the node index for a particular corner of a finite-element. | |
| void | TecUtilDataNodeArraySetByRef (NodeMap_pa DestNodeMap, LgIndex_t DestOffset, LgIndex_t DestCount, NodeMap_t *SourceNodeArray) |
| Copies the specified number of nodes from the base of the source node array to the destination node map starting at the specified offset. | |
| void | TecUtilDataNodeSetByRef (NodeMap_pa NM, LgIndex_t Element, LgIndex_t Corner, NodeMap_t Node) |
| Set the node index for a particular corner of a finite-element. | |
| void | TecUtilStringListClear (StringList_pa StringList) |
| Remove all members of the string list. | |
| void | TecUtilStringListRemoveStrings (StringList_pa StringList, LgIndex_t StringNumber, LgIndex_t Count) |
| Remove the specified number of strings beginning at the nth string. | |
| void | TecUtilStringListRemoveString (StringList_pa StringList, LgIndex_t StringNumber) |
| Remove the nth string from the string list. | |
| void | TecUtilStringListDealloc (StringList_pa *StringList) |
| Deallocate the string list members and handle, and set the handle to NULL. | |
| StringList_pa | TecUtilStringListAlloc (void) |
| Create an empty string list. | |
| Boolean_t | TecUtilStringListAppendString (StringList_pa StringList, const char *String) |
| Append a copy of the string to the string list. | |
| LgIndex_t | TecUtilStringListGetCount (StringList_pa StringList) |
| Count the number of strings currently maintained by the string list. | |
| const char * | TecUtilStringListGetRawStringPtr (StringList_pa StringList, LgIndex_t StringNumber) |
| Return a reference to the nth string in a string list. | |
| char * | TecUtilStringListGetString (StringList_pa StringList, LgIndex_t StringNumber) |
| Return a copy of the nth string from a string list. | |
| Boolean_t | TecUtilStringListSetString (StringList_pa StringList, LgIndex_t StringNumber, const char *String) |
| Place a copy of the specified string at the nth position in the string list. | |
| Boolean_t | TecUtilStringListInsertString (StringList_pa StringList, LgIndex_t StringNumber, const char *String) |
| Insert a copy of the string into the nth position of the string list. | |
| StringList_pa | TecUtilStringListCopy (StringList_pa StringList) |
| Return a handle to a duplicate of the specified string list and its contents. | |
| Boolean_t | TecUtilStringListAppend (StringList_pa Target, StringList_pa Source) |
| Append a copy of the contents of the source string list to the target string list. | |
| char * | TecUtilStringListToNLString (StringList_pa StringList) |
| Return a newline delimited string representation of the string list. | |
| StringList_pa | TecUtilStringListFromNLString (const char *String) |
| Create a string list from a newline delimited string. | |
| void | TecUtilStringListSort (StringList_pa StringList, StringListStringComparator_pf Comparator, ArbParam_t ClientData) |
| Sorts the string list by repeatedly calling the 'Comparator' function until the list is in order. | |
| Set_pa | TecUtilSetAlloc (Boolean_t ShowErr) |
| Allocate a new empty set. | |
| void | TecUtilSetDealloc (Set_pa *Set) |
| Free all memory associated with the specified set and assign the set to be NULL. | |
| Boolean_t | TecUtilSetCopy (Set_pa DstSet, Set_pa SrcSet, Boolean_t ShowErr) |
| Copy one set to another. | |
| void | TecUtilSetClear (Set_pa Set) |
| Empties the specified set. | |
| Boolean_t | TecUtilSetAddMember (Set_pa Set, SetIndex_t Member, Boolean_t ShowErr) |
| Add the specified member to the specified set. | |
| void | TecUtilSetRemoveMember (Set_pa Set, SetIndex_t Member) |
| Remove a member from a set. | |
| Boolean_t | TecUtilSetIsMember (Set_pa Set, SetIndex_t Member) |
| Determine if the specified member is in the specified set. | |
| Boolean_t | TecUtilSetIsEmpty (Set_pa Set) |
| Determine if the specified set is NULL or contains no members. | |
| SetIndex_t | TecUtilSetGetMemberCount (Set_pa Set) |
| Get the count of the number of members in a set. | |
| Boolean_t | TecUtilSetIsEqual (Set_pa Set1, Set_pa Set2) |
| Determines if the specified sets are equal (have the same members). | |
| SetIndex_t | TecUtilSetGetMember (Set_pa Set, SetIndex_t Position) |
| Get the member of the specified set at the specified position. | |
| SetIndex_t | TecUtilSetGetPosition (Set_pa Set, SetIndex_t Member) |
| Get the position in the specified set at which the specified member is located. | |
| SetIndex_t | TecUtilSetGetNextMember (Set_pa Set, SetIndex_t Member) |
| Get the next member in the specified set which is located after the specified member. | |
| void | TecUtilTecForeign (LgIndex_t *OutputForeignByteOrder) |
| Sets the byte ordering request for subsequent calls to TecUtilTecIni(). | |
| LgIndex_t | TecUtilTecIni (const char *Title, const char *Variables, const char *FName, const char *ScratchDir, LgIndex_t *Debug, LgIndex_t *VIsDouble) |
| Initializes the process of writing a binary data file. | |
| LgIndex_t | TecUtilTecIniX (ArgList_pa ArgList) |
| Initializes the process of writing a binary data file. | |
| LgIndex_t | TecUtilTecZne (const char *ZoneTitle, LgIndex_t *IMx, LgIndex_t *JMx, LgIndex_t *KMx, const char *ZFormat, const char *DupList) |
| Writes header information about the next zone to be added to the data file. | |
| LgIndex_t | TecUtilTecZneX (ArgList_pa ArgList) |
| Writes the zone to the data file. | |
| LgIndex_t | TecUtilTecDat (LgIndex_t *N, void *FieldData_Array, LgIndex_t *IsDouble) |
| Writes an array of data to the data file. | |
| LgIndex_t | TecUtilTecNod (LgIndex_t *NData_Array) |
| Writes an array of node data to the binary data file. | |
| LgIndex_t | TecUtilTecEnd (void) |
| Must be called to close out the current data file. | |
| LgIndex_t | TecUtilTecLab (const char *S) |
| Write a set of custom labels to the data file. | |
| LgIndex_t | TecUtilTecUsr (const char *S) |
| Add a user-defined record, in the form of a character string, to the Tecplot data file. | |
| LgIndex_t | TecUtilTecFil (LgIndex_t *F) |
| Switch output context to a different file. | |
| LgIndex_t | TecUtilTecTxt (double *XPos, double *YPos, LgIndex_t *PosCoordMode, LgIndex_t *AttachToZone, LgIndex_t *Zone, LgIndex_t *Font, LgIndex_t *FontHeightUnits, double *FontHeight, LgIndex_t *BoxType, double *BoxMargin, double *BoxLineThickness, LgIndex_t *BoxColor, LgIndex_t *BoxFillColor, double *Angle, LgIndex_t *Anchor, double *LineSpacing, LgIndex_t *TextColor, LgIndex_t *Scope, const char *Text, const char *MacroFunctionCommand) |
| Write a text label to a binary tecplot data file. | |
| LgIndex_t | TecUtilTecTxtX (ArgList_pa ArgList) |
| Writes the text item to the data file. | |
| LgIndex_t | TecUtilTecGeo (double *XPos, double *YPos, double *ZPos, LgIndex_t *PosCoordMode, LgIndex_t *AttachToZone, LgIndex_t *Zone, LgIndex_t *Color, LgIndex_t *FillColor, LgIndex_t *IsFilled, LgIndex_t *GeomType, LgIndex_t *LinePattern, double *PatternLength, double *LineThickness, LgIndex_t *NumEllipsePts, LgIndex_t *ArrowheadStyle, LgIndex_t *ArrowheadAttachment, double *ArrowheadSize, double *ArrowheadAngle, LgIndex_t *Scope, LgIndex_t *NumSegments, LgIndex_t *NumSegPts, float *XGeomData, float *YGeomData, float *ZGeomData, const char *MacroFunctionCommand) |
| Write a geometry to a binary tecplot datafile. | |
| LgIndex_t | TecUtilTecGeoX (ArgList_pa ArgList) |
| Writes the geometry item to the data file. | |
| LgIndex_t | TecUtilTecAux (char *Name, char *Value) |
| Writes the name/value data set auxiliary data pair to the data file. | |
| LgIndex_t | TecUtilTecZAux (char *Name, char *Value) |
| Writes the name/value zone auxiliary data pair to the data file. | |
| LgIndex_t | TecUtilTecVAux (LgIndex_t *Var, char *Name, char *Value) |
| Writes the name/value variable auxiliary data pair to the data file. | |
| LgIndex_t | TecUtilTecFace (LgIndex_t *FaceConnections) |
| Writes the face neighbor connections to the data file. | |
| LgIndex_t | TecUtilTecPoly (LgIndex_t *FaceNodeCounts, LgIndex_t *FaceNodes, LgIndex_t *FaceLeftElems, LgIndex_t *FaceRightElems, LgIndex_t *FaceBndryConnectionCounts, LgIndex_t *FaceBndryConnectionElems, EntIndex_t *FaceBndryConnectionZones) |
| Writes the face map for polygonal and polyhedral zones to the data file. | |
| Boolean_t | TecUtilVariableIsLocked (EntIndex_t Var, VarLockMode_e *VarLockMode, char **LockOwner) |
| Indicates if the variable is locked and optionally the mode in which it was locked and the current lock owner. | |
| Boolean_t | TecUtilVariableLockOn (EntIndex_t Var, VarLockMode_e VarLockMode, const char *LockOwner) |
| Lock the variable from being altered according to the specified locking mode. | |
| Boolean_t | TecUtilVariableLockOff (EntIndex_t Var, const char *LockOwner) |
| Unlock the variable. | |
| Boolean_t | TecUtilDataSetLockOn (const char *LockString) |
| Lock the data set attached to the current frame. | |
| Boolean_t | TecUtilDataSetLockOff (const char *LockString) |
| Unlock the data set attached to the current frame. | |
| Boolean_t | TecUtilDataSetIsLocked (char **LockString) |
| Query to see of the data set attached to the current frame is locked. | |
| void | TecUtilDataFaceMapBeginAssign (FaceMap_pa FaceMap) |
| Opens a face-mapping assignment context. | |
| void | TecUtilDataFaceMapAssignNodes (FaceMap_pa FaceMap, LgIndex_t NumFaces, const LgIndex_t *NumFaceNodes, const LgIndex_t *FaceNodes) |
| Assigns the supplied face nodes to the open face-mapping assignment context. | |
| void | TecUtilDataFaceMapAssignElems (FaceMap_pa FaceMap, LgIndex_t NumFaces, const LgIndex_t *FaceLeftElems, const LgIndex_t *FaceRightElems) |
| Assigns the supplied face left and right elements to the open face-mapping assignment context. | |
| void | TecUtilDataFaceMapAssignBConns (FaceMap_pa FaceMap, LgIndex_t NumBndryFaces, const LgIndex_t *NumBndryConns, const LgIndex_t *FaceBndryElems, const EntIndex_t *FaceBndryElemZones) |
| Assigns the supplied boundary connected elements and zones to the open face-mapping assignment context. | |
| Boolean_t | TecUtilDataFaceMapEndAssign (FaceMap_pa FaceMap) |
| Ends a face-mapping assignment sequence. | |
| ArbParam_t | TecUtilDataFaceMapGetClientData (FaceMap_pa FaceMap) |
| Return the custom load-on-demand client data from a face map handle. | |
| Boolean_t | TecUtilDataFaceMapCustomLOD (EntIndex_t Zone, LgIndex_t NumFaces, LgIndex_t NumFaceNodes, LgIndex_t NumFaceBndryFaces, LgIndex_t NumFaceBndryConns, LoadOnDemandFaceMapLoad_pf LoadCallback, LoadOnDemandFaceMapUnload_pf UnloadCallback, LoadOnDemandFaceMapCleanup_pf CleanupCallback, ArbParam_t ClientData) |
| Registers with Tecplot the load-on-demand callbacks and client data for a face mapping for a specific zone. | |
| Boolean_t | TecUtilDataFaceMapAlloc (EntIndex_t Zone, LgIndex_t NumFaces, LgIndex_t NumFaceNodes, LgIndex_t NumFaceBndryFaces, LgIndex_t NumFaceBndryConns) |
| Allocates the space needed for the face mapping. | |
| LgIndex_t | TecUtilImportGetLoaderInstrCount (void) |
| Gets the number of loader instruction lists available for retrieval by TecUtilImportGetLoaderInstrByNum. | |
| void | TecUtilImportGetLoaderInstrByNum (LgIndex_t Index, char **DataSetReaderName, StringList_pa *DataSetLoaderInstructions) |
| Retrieves the instructions of the n'th data loader used to load the data into the data set attached to the current frame. | |
| void | TecUtilVarGetMinMax (EntIndex_t Var, double *VarMin, double *VarMax) |
| Gets the minimum and maximum values of a variable. | |
| Boolean_t | TecUtilDataFEPolyGetCellNodesSizeAndCenter (FaceMap_pa FaceMap, ElemToFaceMap_pa ElemToFaceMap, LgIndex_t CellIndex, FieldData_pa XFieldData, FieldData_pa YFieldData, FieldData_pa ZFieldData, LgIndex_t *NumUniqueNodes, LgIndex_t *UniqueNodesSize, LgIndex_t **UniqueNodes, double *CellSize, XYZ_s *CellCenter) |
| Gets the logically unique nodes, cell size, and cell center position of an entire finite element polytope cell. | |
| Boolean_t | TecUtilDataFECellGetUniqueNodes (EntIndex_t Zone, ElemFaceOffset_t FaceOffset, LgIndex_t CellIndex, LgIndex_t *NumUniqueNodes, LgIndex_t *UniqueNodesSize, LgIndex_t **UniqueNodes) |
| Gets the logically unique nodes of an entire finite element cell or, for finite element volume data only, a finite element face. | |
| void | TecUtilDataFECellGetNodes (EntIndex_t Zone, int Face, LgIndex_t CellIndex, LgIndex_t *I1, LgIndex_t *I2, LgIndex_t *I3, LgIndex_t *I4) |
| Get the indices for the nodes of a finite-element cell. | |
| void | TecUtilDataIJKCellGetIndices (EntIndex_t Zone, IJKPlanes_e Plane, LgIndex_t CellIndex, LgIndex_t *I1, LgIndex_t *I2, LgIndex_t *I3, LgIndex_t *I4) |
| Get the indices for the nodes a cell in an ordered zone. | |
| UniqueID_t | TecUtilDataSetGetUniqueID (void) |
| Gets a unique ID for a data set. | |
| UniqueID_t | TecUtilZoneGetUniqueID (EntIndex_t Zone) |
| Gets a unique ID for a zone. | |
| UniqueID_t | TecUtilVarGetUniqueID (EntIndex_t Var) |
| Gets a unique ID for a variable. | |
| EntIndex_t | TecUtilVarGetNumByUniqueID (UniqueID_t UniqueID) |
| Gets a variable number, given a unique ID. | |
| EntIndex_t | TecUtilZoneGetNumByUniqueID (UniqueID_t UniqueID) |
| Gets a zone number, given a unique ID. | |
| EntIndex_t | TecUtilVarGetNumByAssignment (char Var) |
| Gets the number (that is, the index) of a variable based on the variable assignment. | |
| EntIndex_t | TecUtilVarGetNumByName (const char *VarName) |
| Gets the number (that is, the index) of a variable based on variable name. | |
| void | TecUtilDataValueGetReadableRawPtr (EntIndex_t Zone, EntIndex_t Var, void **DataPtr, FieldDataType_e *FieldDataType) |
| Get a read-only handle to the raw field data in the data set attached to the current frame. | |
| void | TecUtilDataValueGetWritableRawPtr (EntIndex_t Zone, EntIndex_t Var, void **DataPtr, FieldDataType_e *FieldDataType) |
| Get a read/write handle to the raw field data in the data set attached to the current frame. | |
| void | TecUtilDataValueGetRawPtr (EntIndex_t Zone, EntIndex_t Var, void **DataPtr, FieldDataType_e *FieldDataType) |
| void | TecUtilDataNodeGetRawPtr (EntIndex_t Zone, NodeMap_t **NodeMapPtr) |
| Get a handle to the raw node map data in the data set attached to the current frame. | |
| void | TecUtilDataFaceNbrGetRawPtr (EntIndex_t Zone, LgIndex_t **FNPtr) |
| Boolean_t | TecUtilZoneGetName (EntIndex_t Zone, char **ZName) |
| Get the name of a specified zone in the data set attached to the current frame. | |
| Boolean_t | TecUtilVarGetName (EntIndex_t VarNum, char **VName) |
| Get the name of a variable in the data set attached to the current frame. | |
| LgIndex_t | TecUtilDataValueGetCountByRef (FieldData_pa FieldData) |
| Gets the number of values associated with the field data reference. | |
| void | TecUtilZoneGetInfo (EntIndex_t CurZone, LgIndex_t *IMax, LgIndex_t *JMax, LgIndex_t *KMax, FieldData_pa *XVar, FieldData_pa *YVar, FieldData_pa *ZVar, NodeMap_pa *NMap, FieldData_pa *UVar, FieldData_pa *VVar, FieldData_pa *WVar, FieldData_pa *BVar, FieldData_pa *CVar, FieldData_pa *SVar) |
| Convenience function used to obtain information about a specific zone. | |
| void | TecUtilZoneGetIJK (EntIndex_t CurZone, LgIndex_t *IMax, LgIndex_t *JMax, LgIndex_t *KMax) |
| Used to obtain the I, J, and K dimensions of a specific zone. | |
| Boolean_t | TecUtilDataSetGetInfo (char **DataSetTitle, EntIndex_t *NumZones, EntIndex_t *NumVars) |
| Get the title, number of zones, and number of variables of the data set attached to the current frame. | |
| EntIndex_t | TecUtilDataSetGetNumZones (void) |
| Get the number of zones in the data set attached to the current frame. | |
| EntIndex_t | TecUtilDataSetGetNumVars (void) |
| Get the number of variables in the data set attached to the current frame. | |
| Strand_t | TecUtilDataSetGetMaxStrandID (void) |
| Get the largest Strand number currently in use. | |
| Boolean_t | TecUtilDataSetJournalIsValid (void) |
| Query Tecplot to see if the journal for the data set attached to the current frame is valid. | |
| Boolean_t | TecUtilDataSetRequiresSaving (void) |
| Boolean_t | TecUtilZoneGetEnabled (Set_pa *EnabledZones) |
| Get the set of enabled zones. | |
| Boolean_t | TecUtilZoneGetRelevant (double SolutionTime, Boolean_t IgnoreStaticZones, Set_pa *RelevantZones) |
| Get the set of relevant zones at the supplied solution time. | |
| Boolean_t | TecUtilVarGetEnabled (Set_pa *EnabledVars) |
| Get the set of enabled variables. | |
| Boolean_t | TecUtilZoneGetActive (Set_pa *ActiveZones) |
| Obtain the set of active field zones. | |
| Boolean_t | TecUtilZoneIsFiniteElement (EntIndex_t Zone) |
| Determine if a zone in the data set attached to the current frame contains finite-element data. | |
| Boolean_t | TecUtilZoneIsOrdered (EntIndex_t Zone) |
| Determine if the specified zone in the data set attached to the current frame contains ordered data. | |
| ZoneType_e | TecUtilZoneGetType (EntIndex_t Zone) |
| Get the type of a specified zone in the data set attached to the current frame. | |
| double | TecUtilDataValueGetByZoneVar (EntIndex_t Zone, EntIndex_t Var, LgIndex_t PointIndex) |
| Get a field data value. | |
| FieldData_pa | TecUtilDataValueGetReadableNativeRef (EntIndex_t Zone, EntIndex_t Var) |
| Get a read-only handle to the native data for the specified zone and variable in the data set attached to the current frame. | |
| FieldData_pa | TecUtilDataValueGetReadableDerivedRef (EntIndex_t Zone, EntIndex_t Var) |
| Get a read-only handle to the derived data for the specified zone and variable in the data set attached to the current frame. | |
| FieldData_pa | TecUtilDataValueGetReadableNLRef (EntIndex_t Zone, EntIndex_t Var) |
| Get a read-only handle to the node located data for the specified zone and variable in the data set attached to the current frame. | |
| FieldData_pa | TecUtilDataValueGetReadableCCRef (EntIndex_t Zone, EntIndex_t Var) |
| Get a read-only handle to the cell centered data for the specified zone and variable in the data set attached to the current frame. | |
| FieldData_pa | TecUtilDataValueGetWritableNativeRef (EntIndex_t Zone, EntIndex_t Var) |
| Get a native read/write handle to the data for the specified zone and variable in the data set attached to the current frame. | |
| FieldData_pa | TecUtilDataValueGetWritableRef (EntIndex_t Zone, EntIndex_t Var) |
| FieldData_pa | TecUtilDataValueGetReadableRef (EntIndex_t Zone, EntIndex_t Var) |
| FieldData_pa | TecUtilDataValueGetRef (EntIndex_t Zone, EntIndex_t Var) |
| FieldValueGetFunction_pf | TecUtilDataValueRefGetGetFunc (FieldData_pa FD) |
| Get the low-level "get value" function associated with a field data handle. | |
| FieldValueSetFunction_pf | TecUtilDataValueRefGetSetFunc (FieldData_pa FD) |
| Get the low-level "set value" function associated with a field data handle. | |
| Boolean_t | TecUtilDataValueGetZoneVarByRef (FieldData_pa FD, EntIndex_t *Zone, EntIndex_t *Var) |
| Get a candidate zone and variable associated with the given field data reference. | |
| NodeMap_pa | TecUtilDataNodeGetRef (EntIndex_t Zone) |
| Get a finite-element node map handle to the specified zone in the data set attached to the current frame. | |
| FaceNeighbor_pa | TecUtilDataFaceNbrGetRef (EntIndex_t Zone) |
| Get a face neighbor handle to the specified zone in the data set attached to the current frame. | |
| FieldDataType_e | TecUtilDataValueGetRefType (FieldData_pa FieldData) |
| Get the field data type of a field data handle. | |
| FieldDataType_e | TecUtilDataValueGetType (EntIndex_t Zone, EntIndex_t Var) |
| Queries for the data type of the variable. | |
| ValueLocation_e | TecUtilDataValueGetLocation (EntIndex_t Zone, EntIndex_t Var) |
| Queries for the location of the variable. | |
| Boolean_t | TecUtilImportGetLoaderInstr (char **DataSetLoaderName, StringList_pa *DataSetLoaderInstructions) |
| Get the instructions of the last data loader used to load the data into the data set attached to the current frame. | |
| void | TecUtilDataValueArrayGetByRef (FieldData_pa SourceFieldData, LgIndex_t SourceOffset, LgIndex_t SourceCount, void *DestValueArray) |
| Fetch an Array of values by reference. | |
| double | TecUtilDataValueGetByRef (FieldData_pa FieldData, LgIndex_t PointIndex) |
| Get a field data value. | |
| Boolean_t | TecUtilDataValueGetMinMaxByZoneVar (EntIndex_t Zone, EntIndex_t Var, double *Min, double *Max) |
| Get the minimum and maximum values for a tecplot variable using a zone and variable number. | |
| void | TecUtilDataValueGetMinMaxByRef (FieldData_pa FieldData, double *Min, double *Max) |
| Get the minimum and maximum values for a tecplot variable using the field data reference. | |
| NodeMap_t | TecUtilDataNodeGetByZone (EntIndex_t Zone, LgIndex_t Element, LgIndex_t Corner) |
| Get the node index for a particular corner of a finite-element. | |
| void | TecUtilDataNodeArrayGetByRef (NodeMap_pa SourceNodeMap, LgIndex_t SourceOffset, LgIndex_t SourceCount, NodeMap_t *DestNodeArray) |
| Fetch an array of nodes by reference. | |
| NodeMap_t | TecUtilDataNodeGetByRef (NodeMap_pa NodeMapPtr, LgIndex_t Element, LgIndex_t Corner) |
| Get the node index for a particular corner of a finite-element. | |
| LgIndex_t | TecUtilDataFaceNbrGetByZone (EntIndex_t Zone, LgIndex_t Element, LgIndex_t Face) |
| LgIndex_t | TecUtilDataFaceNbrGetByRef (FaceNeighbor_pa FaceNeighbor, LgIndex_t Element, LgIndex_t Face) |
| FaceNeighborMode_e | TecUtilDataFaceNbrGetModeByRef (FaceNeighbor_pa FaceNeighbor) |
| Returns the FaceNeigborMode_e value for the referenced face neighbor. | |
| LgIndex_t | TecUtilDataFaceNbrGetNumNByRef (FaceNeighbor_pa FaceNeighbor, LgIndex_t Element, LgIndex_t Face) |
| Gets the number of face neighbors for the elements's face. | |
| void | TecUtilDataFaceNbrGetNbrByRef (FaceNeighbor_pa FaceNeighbor, LgIndex_t Element, LgIndex_t Face, LgIndex_t NeighborNumber, LgIndex_t *NeighborElem, EntIndex_t *NeighborZone) |
| Get the cell index of the element the is a neighbor of the specified Element and Face. | |
| Boolean_t | TecUtilDataFaceNbrBeginAssignX (ArgList_pa ArgList) |
| Clears any previous user defined face neighbor assignments and opens a new face neighbor assignment context. | |
| Boolean_t | TecUtilDataFaceNbrBeginAssign (EntIndex_t Zone) |
| Clears any previous user defined face neighbor assignments and opens a new face neighbor assignment context. | |
| Boolean_t | TecUtilDataFaceNbrAssign (LgIndex_t Element, LgIndex_t Face, Boolean_t NeighborsCompletelyObscure, LgIndex_t NumNeighbors, LgIndex_t *NeighborElems, EntIndex_t *NeighborZones) |
| Sets the user defined face neighbors within an open face neighbor assignment context for the specified element and face. | |
| void | TecUtilDataFaceNbrArrayAssign (LgIndex_t DestOffset, LgIndex_t DestCount, LgIndex_t *NeighborElems) |
| Copies the specified number of local one-to-one face neighbors from the base of the neighbor element array to the currently open face neighbor context starting at the specified destination offset. | |
| Boolean_t | TecUtilDataFaceNbrEndAssign (void) |
| Closes the open face neighbor assignment context and packs the assignments into an efficient storage within Tecplot. | |
| Boolean_t | TecUtilDataSetIsAvailable (void) |
| Determine if the current frame has a data set attached. | |
| Boolean_t | TecUtilVarIsEnabled (EntIndex_t Var) |
| Determine if a variable is enabled. | |
| Boolean_t | TecUtilZoneIsEnabled (EntIndex_t Zone) |
| Determine if a zone is enabled. | |
| Boolean_t | TecUtilZoneIsActive (EntIndex_t Zone) |
| Determine if a zone is active. | |
| AuxData_pa | TecUtilAuxDataDataSetGetRef (void) |
| Gets a reference to the current data set's auxiliary data. | |
| AuxData_pa | TecUtilAuxDataLineMapGetRef (EntIndex_t Map) |
| Gets a reference to the specified line map's auxiliary data. | |
| AuxData_pa | TecUtilAuxDataPageGetRef (void) |
| Gets a reference to the current page's auxiliary data. | |
| AuxData_pa | TecUtilAuxDataFrameGetRef (void) |
| Gets a reference to the current frame's auxiliary data. | |
| AuxData_pa | TecUtilAuxDataZoneGetRef (EntIndex_t Zone) |
| Gets a reference to the specified zone's auxiliary data. | |
| AuxData_pa | TecUtilAuxDataVarGetRef (EntIndex_t Var) |
| Gets a reference to the specified variable's auxiliary data. | |
| LgIndex_t | TecUtilAuxDataGetNumItems (AuxData_pa AuxDataRef) |
| Gets the current number of auxiliary data items maintained by the auxiliary data reference. | |
| Boolean_t | TecUtilAuxDataGetItemIndex (AuxData_pa AuxDataRef, const char *Name, LgIndex_t *ItemIndex) |
| Gets the index of the named auxiliary data item if found or if not found the index where an auxiliary data item could be inserted in sorted order. | |
| void | TecUtilAuxDataGetStrItemByIndex (AuxData_pa AuxDataRef, LgIndex_t Index, char **Name, char **Value, Boolean_t *Retain) |
| Gets the auxiliary string data item at the specified index. | |
| void | TecUtilAuxDataGetItemByIndex (AuxData_pa AuxDataRef, LgIndex_t Index, char **Name, ArbParam_t *Value, AuxDataType_e *Type, Boolean_t *Retain) |
| Gets the auxiliary data item at the specified index. | |
| Boolean_t | TecUtilAuxDataGetStrItemByName (AuxData_pa AuxDataRef, const char *Name, char **Value, Boolean_t *Retain) |
| Gets the auxiliary string data item by the specified name if it exists. | |
| Boolean_t | TecUtilAuxDataGetItemByName (AuxData_pa AuxDataRef, const char *Name, ArbParam_t *Value, AuxDataType_e *Type, Boolean_t *Retain) |
| Gets the auxiliary data item by the specified name if it exists. | |
| Boolean_t | TecUtilAuxDataSetStrItem (AuxData_pa AuxDataRef, const char *Name, const char *Value, Boolean_t Retain) |
| Adds the auxiliary data string item to the auxiliary data or replaces it if one already exists by the same name. | |
| Boolean_t | TecUtilAuxDataSetItem (AuxData_pa AuxDataRef, const char *Name, ArbParam_t Value, AuxDataType_e Type, Boolean_t Retain) |
| Adds the auxiliary data item to the auxiliary data or replaces it if one already exists by the same name. | |
| void | TecUtilAuxDataDeleteItemByIndex (AuxData_pa AuxDataRef, LgIndex_t Index) |
| Deletes the auxiliary data item. | |
| Boolean_t | TecUtilAuxDataDeleteItemByName (AuxData_pa AuxDataRef, const char *Name) |
| Deletes the auxiliary data item by the specified name if it exists. | |
| Boolean_t | TecUtilDataSetIsSharingAllowed (void) |
| Query to see if variable and connectivity sharing is permitted for this dataset. | |
| Boolean_t | TecUtilDataValueIsSharingOk (EntIndex_t SourceZone, EntIndex_t DestZone, EntIndex_t Var) |
| Determine if it is ok to share a variable between zones. | |
| Boolean_t | TecUtilDataConnectIsSharingOk (EntIndex_t SourceZone, EntIndex_t DestZone) |
| Determine if it is ok to share the connectivity between zones. | |
| Set_pa | TecUtilDataValueGetShareZoneSet (EntIndex_t Zone, EntIndex_t Var) |
| Gets the set of zones that share the variable with the specified zone. | |
| Set_pa | TecUtilConnectGetShareZoneSet (EntIndex_t Zone) |
| Gets the set of zones that share the connectivity with the specified zone. | |
| EntIndex_t | TecUtilDataValueGetShareCount (EntIndex_t Zone, EntIndex_t Var) |
| Get a count for the number of times a particular variable is shared. | |
| EntIndex_t | TecUtilDataConnectGetShareCount (EntIndex_t Zone) |
| Returns the share count for connectivity for the given zone. | |
| double | TecUtilZoneGetSolutionTime (EntIndex_t Zone) |
| Returns the Solution Time associated with the specified zone. | |
| Strand_t | TecUtilZoneGetStrandID (EntIndex_t Zone) |
| Returns the StrandID associated with the specified zone. | |
| EntIndex_t | TecUtilZoneGetParentZone (EntIndex_t Zone) |
| Returns the number of the Parent Zone associated with the specified zone. | |
| LgIndex_t | TecUtilZoneGetFieldMap (EntIndex_t Zone) |
| Gets the position of the zone in the Zone Style dialog. | |
| LgIndex_t | TecUtilDataFaceMapGetNFaceNodes (FaceMap_pa FaceMap, LgIndex_t Face) |
| Indicates how many nodes comprise the specified face. | |
| LgIndex_t | TecUtilDataFaceMapGetFaceNode (FaceMap_pa FaceMap, LgIndex_t Face, LgIndex_t NodeOffset) |
| Fetch a node from the face. | |
| LgIndex_t | TecUtilDataFaceMapGetLeftElem (FaceMap_pa FaceMap, LgIndex_t Face) |
| The left element associated with the specified face. | |
| LgIndex_t | TecUtilDataFaceMapGetRightElem (FaceMap_pa FaceMap, LgIndex_t Face) |
| The right element associated with the specified face. | |
| LgIndex_t | TecUtilDataFaceMapGetNBndryConns (FaceMap_pa FaceMap, LgIndex_t Face) |
| Retrieves the number of boundary connections for the specified face. | |
| void | TecUtilDataFaceMapGetBndryConn (FaceMap_pa FaceMap, LgIndex_t Face, LgIndex_t BndryConnOffset, LgIndex_t *BndryElem, EntIndex_t *BndryElemZone) |
| Fetch a connected element and its zone for a boundary face. | |
| FaceMap_pa | TecUtilDataFaceMapGetReadableRef (EntIndex_t Zone) |
| Gets a readable face mapping for the specified polyhedral or polygonal zone of the current frame. | |
| FaceMap_pa | TecUtilDataFaceMapGetWritableRef (EntIndex_t Zone) |
| Gets a writable face mapping for the specified polyhedral or polygonal zone of the current frame. | |
| ElemToFaceMap_pa | TecUtilDataElemGetReadableRef (EntIndex_t Zone) |
| Gets a readable element-to-face mapping for the specified polyhedral or polygonal zone of the current frame. | |
| LgIndex_t | TecUtilDataElemGetNumFaces (ElemToFaceMap_pa ElemToFaceMap, LgIndex_t Elem) |
| Gets the number of faces that comprise the specified polyhedral or polygonal element. | |
| LgIndex_t | TecUtilDataElemGetFace (ElemToFaceMap_pa ElemToFaceMap, LgIndex_t Elem, ElemFaceOffset_t FaceOffset) |
| Gets the specified face number for the specified polyhedral or polygonal element. | |
| Boolean_t | TecUtilDataValueIsPassive (EntIndex_t Zone, EntIndex_t Var) |
| Determine if a variable is passive for a particular zone. | |
| SetValueReturnCode_e | TecUtilZoneSetActive (Set_pa ZoneSet, AssignOp_e AssignModifier) |
| Assign which zones are active. | |
| SetValueReturnCode_e | TecUtilFieldMapSetActive (Set_pa FieldMapSet, AssignOp_e AssignModifier) |
| Assign which field maps are active. | |
| SetValueReturnCode_e | TecUtilZoneSetMesh (const char *Attribute, Set_pa ZoneSet, double DValue, ArbParam_t IValue) |
| Assign values to attributes for mesh plots. | |
| SetValueReturnCode_e | TecUtilZoneSetContour (const char *Attribute, Set_pa ZoneSet, double DValue, ArbParam_t IValue) |
| Assign values to attributes for contour plots. | |
| SetValueReturnCode_e | TecUtilZoneSetScatter (const char *Attribute, Set_pa ZoneSet, double DValue, ArbParam_t IValue) |
| Assign top level values to attributes for scatter plots. | |
| SetValueReturnCode_e | TecUtilZoneSetScatterIJKSkip (const char *Attribute, Set_pa ZoneSet, LgIndex_t Skip) |
| Set the scatter I-, J-, or K-skipping. | |
| SetValueReturnCode_e | TecUtilZoneSetScatterSymbolShape (const char *Attribute, Set_pa ZoneSet, ArbParam_t IValue) |
| Assign values for the symbol shape in scatter plots. | |
| SetValueReturnCode_e | TecUtilZoneSetBoundary (const char *Attribute, Set_pa ZoneSet, double DValue, ArbParam_t IValue) |
| SetValueReturnCode_e | TecUtilZoneSetEdgeLayer (const char *Attribute, Set_pa ZoneSet, double DValue, ArbParam_t IValue) |
| Assign values to attributes for edge plots. | |
| SetValueReturnCode_e | TecUtilZoneSetIJKMode (const char *Attribute, const char *SubAttribute, Set_pa ZoneSet, ArbParam_t IValue) |
| SetValueReturnCode_e | TecUtilCurveSetExtendedSettings (EntIndex_t LineMapNum, const char *Settings) |
| Sets the extended curve fit settings for the set of Line-maps selected in the Plot Attributes dialog. | |
| SetValueReturnCode_e | TecUtilZoneSetStrandID (EntIndex_t Zone, Strand_t StrandID) |
| Sets the StrandID associated with the specified zone. | |
| ArgList_pa TecUtilArgListAlloc | ( | void | ) |
Allocate an argument list.
Argument lists are used with all of the "X" (extended) functions in Tecplot.
SUBROUTINE TecUtilArgListAlloc(ResultPtr) POINTER (ResultPtr, Result)
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendArbParam | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| ArbParam_t | Value | |||
| ) |
Append an ArbParam_t type parameter to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | Value associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendArbParam( & ArgListPtr, & Name, & ValuePtr) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name POINTER (ValuePtr, Value)
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendArbParamPtr | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| ArbParam_t * | Value | |||
| ) |
Appends an ArbParam_t pointer parameter to an argument list.
| ArgList | The argument list | |
| Name | Parameter Name. Use the SV_ constants listed with the extended function. | |
| Value | Pointer value associated with the parameter name |
INTEGER*4 FUNCTION TecUtilArgListAppendArbParamPtr( & ArgListPtr, & Name, & ValuePtr) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name POINTER (ValuePtr, Value)
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendArray | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| const void * | Value | |||
| ) |
Appends a named array to the argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | Value associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendArray( & ArgListPtr, & Name, & Value) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name POINTER (ValuePtr, Value)
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendDouble | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| double | Value | |||
| ) |
Append a double parameter to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | Value associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendDouble( & ArgListPtr, & Name, & Value) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name REAL*8 Value
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendDoublePtr | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| double * | Value | |||
| ) |
Appends a double pointer parameter to an argument list.
| ArgList | The argument list | |
| Name | Parameter Name. Use the SV_ constants listed with the extended function | |
| Value | Pointer value associated with the parameter name |
INTEGER*4 FUNCTION TecUtilArgListAppendDoublePtr( & ArgListPtr, & Name, & Value) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name REAL*8 Value
Python Syntax:
This function is not supported in Python.
See TecUtilStyleGetLowLevelX() for a complete example.
| Boolean_t TecUtilArgListAppendFunction | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| const void * | Value | |||
| ) |
Append a named function pointer to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | Function pointer associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendFunction( & ArgListPtr, & Name, & Value) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name POINTER (ValuePtr, Value)
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendInt | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| LgIndex_t | Value | |||
| ) |
Append an integer parameter to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | Value associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendInt( & ArgListPtr, & Name, & Value) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name INTEGER*4 Value
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendSet | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| Set_pa | Value | |||
| ) |
Append a named set to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | Set associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendSet( & ArgListPtr, & Name, & ValuePtr) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name POINTER (ValuePtr, Value)
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendString | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| const char * | Value | |||
| ) |
Append a string to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| Value | String value associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendString( & ArgListPtr, & Name, & Value) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name CHARACTER*(*) Value
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilArgListAppendStringList | ( | ArgList_pa | ArgList, | |
| const char * | Name, | |||
| StringList_pa | StringList | |||
| ) |
Append a named string list to an argument list.
| ArgList | The argument list. | |
| Name | Parameter name. Use the SV_constants listed with the extended function. | |
| StringList | String List associated with the parameter name. |
INTEGER*4 FUNCTION TecUtilArgListAppendStringList( & ArgListPtr, & Name, & StringListPtr) POINTER (ArgListPtr, ArgList) CHARACTER*(*) Name POINTER (StringListPtr, StringList)
Python Syntax:
This function is not supported in Python.
| void TecUtilArgListClear | ( | ArgList_pa | ArgList | ) |
Clear all arguments from an argument list.
Fortran Syntax:
SUBROUTINE TecUtilArgListClear(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
This function is not supported in Python.
| void TecUtilArgListDealloc | ( | ArgList_pa * | ArgList | ) |
Deallocate an argument list.
| ArgList | The argument list. |
SUBROUTINE TecUtilArgListDealloc(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
This function is not supported in Python.
| AuxData_pa TecUtilAuxDataDataSetGetRef | ( | void | ) |
Gets a reference to the current data set's auxiliary data.
SUBROUTINE TecUtilAuxDataDataSetGetRef(ResultPtr) POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.AuxDataDataSetGetRef()
Output:
Results[0] ReturnVal opaque pointer
| void TecUtilAuxDataDeleteItemByIndex | ( | AuxData_pa | AuxDataRef, | |
| LgIndex_t | Index | |||
| ) |
Deletes the auxiliary data item.
| AuxDataRef | Reference to the auxiliary data. | |
| Index | Index of the auxiliary data item of interest. |
SUBROUTINE TecUtilAuxDataDeleteItemByIndex( & AuxDataRefPtr, & Index) POINTER (AuxDataRefPtr, AuxDataRef) INTEGER*4 Index
Python Syntax:
Results = TecUtil.AuxDataDeleteItemByIndex(AuxDataRef, Index)
Input:
AuxDataRef opaque pointer
Index int
Output:
Results[0] ReturnVal NONE
Delete the dataset's fourth auxiliary data item:
AuxData_pa AuxDataRef = TecUtilAuxDataDataSetGetRef(); if (AuxDataRef != NULL) { TecUtilAuxDataDeleteItemByIndex(AuxDataRef, 4); } else { // ... allocation failure ... }
| Boolean_t TecUtilAuxDataDeleteItemByName | ( | AuxData_pa | AuxDataRef, | |
| const char * | Name | |||
| ) |
Deletes the auxiliary data item by the specified name if it exists.
| AuxDataRef | Reference to the auxiliary data. | |
| Name | Name used for the search. |
INTEGER*4 FUNCTION TecUtilAuxDataDeleteItemByName( & AuxDataRefPtr, & Name) POINTER (AuxDataRefPtr, AuxDataRef) CHARACTER*(*) Name
Python Syntax:
Results = TecUtil.AuxDataDeleteItemByName(AuxDataRef, Name)
Input:
AuxDataRef opaque pointer
Name string
Output:
Results[0] ReturnVal boolean
If it exists, delete the dataset's auxiliary data item named "MachNumber":
AuxData_pa AuxDataRef = TecUtilAuxDataDataSetGetRef(); if (AuxDataRef != NULL) { if (TecUtilAuxDataDeleteItemByName(AuxDataRef, "MachNumber")) { // ... item found and deleted ... } else { // ... item not found ... } } else { // ... allocation failure ... }
| AuxData_pa TecUtilAuxDataFrameGetRef | ( | void | ) |
Gets a reference to the current frame's auxiliary data.
SUBROUTINE TecUtilAuxDataFrameGetRef(ResultPtr) POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.AuxDataFrameGetRef()
Output:
Results[0] ReturnVal opaque pointer
| void TecUtilAuxDataGetItemByIndex | ( | AuxData_pa | AuxDataRef, | |
| LgIndex_t | Index, | |||
| char ** | Name, | |||
| ArbParam_t * | Value, | |||
| AuxDataType_e * | Type, | |||
| Boolean_t * | Retain | |||
| ) |
Gets the auxiliary data item at the specified index.
The resulting name and value are allocated copies and therefore it is the client's responsibility to release them when no longer needed.
| AuxDataRef | Reference to the auxiliary data. | |
| Index | Index of the auxiliary data of interest. | |
| Name | Address to hold the auxiliary data item name string. It is the client's responsibility release it with TecUtilStringDealloc() when no longer needed. | |
| Value | Address to hold the auxiliary data item value. If the value is a pointer to a string, it is the client's responsibility release it with TecUtilStringDealloc() when no longer needed. | |
| Type | Address to hold the auxiliary data item type. | |
| Retain | Address to hold the auxiliary data item retain flag. |
AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { char *Name; ArbParam_t Value; AuxDataType_e Type; Boolean_t Retain; TecUtilAuxDataGetItemByIndex(AuxDataRef, 4, &Name, &Value, &Type, &Retain); if (Type == AuxDataType_String) // currently the only type supported { char *ValueString = (char *)Value; if (ValueString != NULL) { // ... do something with the value string ... // release the allocated string copy TecUtilStringDealloc(&Name); TecUtilStringDealloc(&ValueString); } else { // ... handle the NULL condition ... } } else { // value type not yet supported by this addon } } else { // ... allocation failure ... }
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilAuxDataGetItemByName | ( | AuxData_pa | AuxDataRef, | |
| const char * | Name, | |||
| ArbParam_t * | Value, | |||
| AuxDataType_e * | Type, | |||
| Boolean_t * | Retain | |||
| ) |
Gets the auxiliary data item by the specified name if it exists.
| AuxDataRef | Reference to the auxiliary data. | |
| Name | Auxiliary data name to fetch. | |
| Value | Address to hold the auxiliary data item value. If the value is a pointer to a string, it is the client's responsibility release it with TecUtilStringDealloc() when no longer needed. | |
| Type | Address to hold the auxiliary data item type. | |
| Retain | Address to hold the auxiliary data item retain flag. If Retain is set to TRUE, then saving the data set will include this item. |
This function is not supported in Python.
If it exists, get the frame's auxiliary data item named "MachNumber":
// If it exists, get the frame's auxiliary // data item named "MachNumber". AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { ArbParam_t Value; AuxDataType_e Type; Boolean_t Retain; if (TecUtilAuxDataGetItemByName(AuxDataRef, "MachNumber", &Value, &Type, &Retain)) { if (Type == AuxDataType_String) // currently the only type supported { char *ValueString = (char *)Value; if (ValueString != NULL) { // ... do something with the value string ... double MachNumber; if (sscanf(ValueString, "%lf", &MachNumber) == 1) { } else { // ... invalid value ... } // release the allocated string copy TecUtilStringDealloc(&ValueString); } else { // ... handle the NULL condition ... } } else { // ... value type not yet supported by this addon ... } } else { // ... item not found ... } } else { // ... allocation failure ... }
| Boolean_t TecUtilAuxDataGetItemIndex | ( | AuxData_pa | AuxDataRef, | |
| const char * | Name, | |||
| LgIndex_t * | ItemIndex | |||
| ) |
Gets the index of the named auxiliary data item if found or if not found the index where an auxiliary data item could be inserted in sorted order.
| AuxDataRef | Reference to auxiliary data. | |
| Name | Name used for search. | |
| ItemIndex | Address to hold the index of the found item or the index where an auxiliary data item could be inserted. |
INTEGER*4 FUNCTION TecUtilAuxDataGetItemIndex( & AuxDataRefPtr, & Name, & ItemIndex) POINTER (AuxDataRefPtr, AuxDataRef) CHARACTER*(*) Name INTEGER*4 ItemIndex
Python Syntax:
Results = TecUtil.AuxDataGetItemIndex(AuxDataRef, Name)
Input:
AuxDataRef opaque pointer
Name string
Output:
Results[0] ReturnVal boolean
Results[1] ItemIndex int
If it exists, get the item index of the frame's auxiliary data item named "MachNumber":
// If it exists, get the item index of the frame's // auxiliary data item named "MachNumber". AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { LgIndex_t ItemIndex; if (TecUtilAuxDataGetItemIndex(AuxDataRef, "MachNumber", &ItemIndex)) { // ...do something with the item index ... } else { // ...item not found ... } } else { // ...allocation failure ... }
| LgIndex_t TecUtilAuxDataGetNumItems | ( | AuxData_pa | AuxDataRef | ) |
Gets the current number of auxiliary data items maintained by the auxiliary data reference.
| AuxDataRef | Reference to auxiliary data. |
INTEGER*4 FUNCTION TecUtilAuxDataGetNumItems(AuxDataRefPtr) POINTER (AuxDataRefPtr, AuxDataRef)
Python Syntax:
Results = TecUtil.AuxDataGetNumItems(AuxDataRef)
Input:
AuxDataRef opaque pointer
Output:
Results[0] ReturnVal int
Find the number of auxiliary data items linked to the frame:
AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { LgIndex_t NumItems = TecUtilAuxDataGetNumItems(AuxDataRef); if (NumItems != 0) { // ... do something with the 1..NumItems items ... } } else { // ... allocation failure ... }
| void TecUtilAuxDataGetStrItemByIndex | ( | AuxData_pa | AuxDataRef, | |
| LgIndex_t | Index, | |||
| char ** | Name, | |||
| char ** | Value, | |||
| Boolean_t * | Retain | |||
| ) |
Gets the auxiliary string data item at the specified index.
The resulting name and value are allocated copies and therefore it is the client's responsibility to release them with TecUtilStringDealloc() when no longer needed.
| AuxDataRef | Reference to the auxiliary data. | |
| Index | Index of the auxiliary data of interest. | |
| Name | Address to hold the auxiliary data item name string. It is the client's responsibility release it with TecUtilStringDealloc() when no longer needed. | |
| Value | Address to hold the auxiliary data item value string. It is the client's responsibility release it with TecUtilStringDealloc() when no longer needed. | |
| Retain | Address to hold the auxiliary data item retain flag. |
SUBROUTINE TecUtilAuxDataGetStrItemByIndex( & AuxDataRefPtr, & Index, & Name, & NameLength, & ValuePtr, & Retain) POINTER (AuxDataRefPtr, AuxDataRef) INTEGER*4 Index CHARACTER*(*) Name INTEGER*4 NameLength CHARACTER*(*) Value INTEGER*4 ValueLength INTEGER*4 Retain
Python Syntax:
Results = TecUtil.AuxDataGetStrItemByIndex(AuxDataRef, Index)
Input:
AuxDataRef opaque pointer
Index int
Output:
Results[0] Name string
Results[1] Value string
Results[2] Retain boolean
Get the frame's fourth auxiliary data item:
AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { char *Name = NULL; char *Value = NULL; Boolean_t Retain; TecUtilAuxDataGetStrItemByIndex(AuxDataRef, 4, &Name, &Value, &Retain); if (Value != NULL) { // ... do something with the value string ... // release the allocated string copy TecUtilStringDealloc(&Name); TecUtilStringDealloc(&Value); } else { // ... handle the NULL condition ... } } else { // ... allocation failure ... }
| Boolean_t TecUtilAuxDataGetStrItemByName | ( | AuxData_pa | AuxDataRef, | |
| const char * | Name, | |||
| char ** | Value, | |||
| Boolean_t * | Retain | |||
| ) |
Gets the auxiliary string data item by the specified name if it exists.
| AuxDataRef | Reference to the auxiliary data. | |
| Name | Auxiliary data name to fetch. | |
| Value | Address to hold the auxiliary data item value string. It is the client's responsibility release it with TecUtilStringDealloc() when no longer needed. | |
| Retain | Address to hold the auxiliary data item retain flag. If Retain is set to TRUE, then saving the data set will include this item. |
INTEGER*4 FUNCTION TecUtilAuxDataGetStrItemByName( & AuxDataRefPtr, & Name, & ValuePtr, & Retain) POINTER (AuxDataRefPtr, AuxDataRef) CHARACTER*(*) Name POINTER (ValuePtr, Value) INTEGER*4 Type INTEGER*4 Retain
Python Syntax:
Results = TecUtil.AuxDataGetStrItemByName(AuxDataRef, Name)
Input:
AuxDataRef opaque pointer
Name string
Output:
Results[0] ReturnVal boolean
Results[1] Value string
Results[2] Retain boolean
If it exists, get the frame's auxiliary data item named "MachNumber":
// If it exists, get the frame's auxiliary // data item named "MachNumber". AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { char **Value; Boolean_t Retain; if (TecUtilAuxDataGetStrItemByName(AuxDataRef, "MachNumber", &Value, &Retain)) { if (Value != NULL) { // ... do something with the value string ... double MachNumber; if (sscanf(Value, "%lf", &MachNumber) == 1) { } else { // ... invalid value ... } // release the allocated string copy TecUtilStringDealloc(&Value); } else { // ... handle the NULL condition ... } } else { // ... item not found ... } } else { // ... allocation failure ... }
| AuxData_pa TecUtilAuxDataLineMapGetRef | ( | EntIndex_t | Map | ) |
Gets a reference to the specified line map's auxiliary data.
| Map | Line map number for which the auxiliary data is desired. |
SUBROUTINE TecUtilAuxDataLineMapGetRef( & Map, & ResultPtr) INTEGER*4 Map POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.AuxDataLineMapGetRef(Map)
Input:
Map int
Output:
Results[0] ReturnVal opaque pointer
| AuxData_pa TecUtilAuxDataPageGetRef | ( | void | ) |
Gets a reference to the current page's auxiliary data.
SUBROUTINE TecUtilAuxDataPageGetRef(ResultPtr) POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.AuxDataPageGetRef()
Output:
Results[0] ReturnVal opaque pointer
| Boolean_t TecUtilAuxDataSetItem | ( | AuxData_pa | AuxDataRef, | |
| const char * | Name, | |||
| ArbParam_t | Value, | |||
| AuxDataType_e | Type, | |||
| Boolean_t | Retain | |||
| ) |
Adds the auxiliary data item to the auxiliary data or replaces it if one already exists by the same name.
| AuxDataRef | Reference to the auxiliary data. | |
| Name | Auxiliary data item's name. Be sure to consider a unique naming convention for your auxiliary data to avoid naming conflicts with auxiliary data produced by other addons or macros. By convention, addons that wish to share auxiliary data can prepend the name with the "Common" prefix. For example, the Plot3D loader uses CommonReferenceMachNumber for the reference Mach number. | |
| Value | Value of the item to set. If the type is a string, a copy of the string pointed to by Value is used for the auxiliary data value. | |
| Type | Type of item being set. | |
| Retain | Flag specifying whether or not to retain this item on file export such as writing out a datafile, etc. |
Results = TecUtil.AuxDataSetItem(AuxDataRef, Name, Value, Type, Retain)
Input:
AuxDataRef opaque pointer
Name string
Value (depends on attribute)
Type AuxDataType_e (defined in TecVals.py)
Retain boolean
Output:
Results[0] ReturnVal boolean
Add an item named "MachNumber" to the frame's auxiliary data.
AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { ArbParam_t Value = (ArbParam_t)"1.75"; if (TecUtilAuxDataSetItem(AuxDataRef, "MachNumber", Value, AuxDataType_String, TRUE)) // Retain { // ... item was added ... } else { // ... item failed to be added ... } } else { // ... allocation failure ... }
| Boolean_t TecUtilAuxDataSetStrItem | ( | AuxData_pa | AuxDataRef, | |
| const char * | Name, | |||
| const char * | Value, | |||
| Boolean_t | Retain | |||
| ) |
Adds the auxiliary data string item to the auxiliary data or replaces it if one already exists by the same name.
| AuxDataRef | Reference to the auxiliary data. | |
| Name | Auxiliary data item's name. Be sure to consider a unique naming convention for your auxiliary data to avoid naming conflicts with auxiliary data produed by other addonaddons or macros. By convention addons that wish to share auxiliary data can prepend the name with the "Common" prefix. For example, the Plot3D loader uses CommonReferenceMachNumber for the reference Mach number. | |
| Value | Value string pointer of the item to set. A copy of this string is used for the auxiliary data value. | |
| Retain | Flag specifying whether or not to retain this item on file export such as writing out a datafile, etc. |
INTEGER*4 FUNCTION TecUtilAuxDataSetStrItem( & AuxDataRefPtr, & Name, & ValuePtr, & Retain) POINTER (AuxDataRefPtr, AuxDataRef) CHARACTER*(*) Name POINTER (ValuePtr, Value) INTEGER*4 Retain
Python Syntax:
Results = TecUtil.AuxDataSetStrItem(AuxDataRef, Name, Value, Retain)
Input:
AuxDataRef opaque pointer
Name string
Value string
Retain boolean
Output:
Results[0] ReturnVal boolean
Add an item named "MachNumber" to the frame's auxiliary data.
AuxData_pa AuxDataRef = TecUtilAuxDataFrameGetRef(); if (AuxDataRef != NULL) { const char *Value = "1.75"; if (TecUtilAuxDataSetStrItem(AuxDataRef, "MachNumber", Value, TRUE)) // Retain { // ... item was added ... } else { // ... item failed to be added ... } } else { // ... allocation failure ... }
| AuxData_pa TecUtilAuxDataVarGetRef | ( | EntIndex_t | Var | ) |
Gets a reference to the specified variable's auxiliary data.
| Var | Variable number for which the auxiliary data is desired. |
SUBROUTINE TecUtilAuxDataVarGetRef( & Var, & ResultPtr) INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.AuxDataVarGetRef(Var)
Input:
Var int
Output:
Results[0] ReturnVal opaque pointer
| AuxData_pa TecUtilAuxDataZoneGetRef | ( | EntIndex_t | Zone | ) |
Gets a reference to the specified zone's auxiliary data.
| Zone | Zone number for which the auxiliary data is desired. |
SUBROUTINE TecUtilAuxDataZoneGetRef( & Zone, & ResultPtr) INTEGER*4 Zone POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.AuxDataZoneGetRef(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal opaque pointer
Most plotting in Tecplot is based on using values at the corners (nodes) of each cell.
If you have some field values that are cell-centered then you need a way to interpolate those values to cell corners. TecUtilAverageCellCenterData() is used to interpolate cell centered data in IJ- or IJK-ordered datasets from the cell-center to the nodes. This same objective can be accomplished by using one of the interpolation options in Tecplot but that is usually more involved and requires more processing time. In preparation for using this function, you must:
The data from the lowest indexed corners of each cell are treated as if they are positioned in the cell center.TecUtilAverageCellCenterData() then takes these values and replaces the values at the nodes with the new interpolated values.
If your objective is only to view a flooded contour plot where each cell is filled with a single color representing the cell-centered value, then do steps 1 and 2 above and set the contour plot type to Corner. Only call this routine if the current frame is in 2D or 3D frame mode.
| ZoneSet | Set of zones to operate on. NULL will do all zones. | |
| VarSet | Set of variables to shift from the cell center to the nodes. NULL will do all variables not assigned to the X-, Y- or Z-axis. |
INTEGER*4 FUNCTION TecUtilAverageCellCenterData( & ZoneSetPtr, & VarSetPtr) POINTER (ZoneSetPtr, ZoneSet) POINTER (VarSetPtr, VarSet)
Python Syntax:
Results = TecUtil.AverageCellCenterData(ZoneSet, VarSet)
Input:
ZoneSet sequence of ints
VarSet sequence of ints
Output:
Results[0] ReturnVal boolean
Average the cell-centered values for variables 4, 7, 8, and 9 in zones 1-3:
if (TecUtilFrameGetMode() == Frame_TwoD || TecUtilFrameGetMode() == Frame_ThreeD) { Set_pa ZoneSet; Set_pa VarSet; Boolean_t IsOk = FALSE; ZoneSet = TecUtilSetAlloc(TRUE); VarSet = TecUtilSetAlloc(TRUE); if (ZoneSet && VarSet) { TecUtilSetAddMember(ZoneSet,1,TRUE); TecUtilSetAddMember(ZoneSet,2,TRUE); TecUtilSetAddMember(ZoneSet,3,TRUE); TecUtilSetAddMember(VarSet,4,TRUE); TecUtilSetAddMember(VarSet,7,TRUE); TecUtilSetAddMember(VarSet,8,TRUE); TecUtilSetAddMember(VarSet,9,TRUE); IsOk = TecUtilAverageCellCenterData(ZoneSet,VarSet); TecUtilSetDealloc(&ZoneSet); TecUtilSetDealloc(&VarSet); } }
| Set_pa TecUtilConnectGetShareZoneSet | ( | EntIndex_t | Zone | ) |
Gets the set of zones that share the connectivity with the specified zone.
If the specified zone's connectivity is shared then it is also a member of the resulting set otherwise an empty set is returned.
| Zone | Zone for which sharing information is desired. |
SUBROUTINE TecUtilConnectGetShareZoneSet( & Zone, & ResultPtr) INTEGER*4 Zone POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.ConnectGetShareZoneSet(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal sequence of ints
| Boolean_t TecUtilCreateCircularZone | ( | LgIndex_t | IMax, | |
| LgIndex_t | JMax, | |||
| LgIndex_t | KMax, | |||
| double | XOrigin, | |||
| double | YOrigin, | |||
| double | Radius, | |||
| double | ZMin, | |||
| double | ZMax, | |||
| FieldDataType_e | FieldDataType | |||
| ) |
Create a circular (or cylindrical) IJ- or IJK-ordered zone.
If no data set exists when this command is executed, a data set is created with variables X, Y (and Z, if KMAX>1). If a data set exists prior to this command, the non-coordinate variables for the zone created are initialized to zero.
| IMax | I-Dimension of the zone to create. I is in the radial direction. | |
| JMax | J-Dimension of the zone to create. J is in the circumferential direction. | |
| KMax | K-Dimension of the zone to create. K is in the Z-direction. Set K to 1 to create a circle | |
| XOrigin | X-Origin for the circle or cylinder. | |
| YOrigin | Y-Origin for the circle or cylinder. | |
| Radius | Radius of the circle or cylinder | |
| ZMin | Z-Min value used when creating a cylinder | |
| ZMax | Z-Max value used when creating a cylinder | |
| FieldDataType | Data type for the variables in the new zone. The possible choices are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Bit, FieldDataType_Byte, or FieldDataType_Invalid. If set to FieldDataType_Invalid, Tecplot will choose the type for you. |
INTEGER*4 FUNCTION TecUtilCreateCircularZone( & IMax, & JMax, & KMax, & XOrigin, & YOrigin, & Radius, & ZMin, & ZMax, & FieldDataType) INTEGER*4 IMax INTEGER*4 JMax INTEGER*4 KMax REAL*8 XOrigin REAL*8 YOrigin REAL*8 Radius REAL*8 ZMin REAL*8 ZMax INTEGER*4 FieldDataType
Python Syntax:
Results = TecUtil.CreateCircularZone(IMax, JMax, KMax, XOrigin, YOrigin, Radius, ZMin, ZMax, FieldDataType)
Input:
IMax int
JMax int
KMax int
XOrigin double
YOrigin double
Radius double
ZMin double
ZMax double
FieldDataType FieldDataType_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Create a circular 10 by 20 IJ-ordered zone centered at (5, 5) with a radius of two:
Boolean_t IsOk; IsOk = TecUtilCreateCircularZone(10,20,1, 5.0,5.0,2.0, 0.0,0.0, FieldDataType_Float);
Create a cylindrical 5 by 6 by 8 IJK-ordered zone with the bottom centered at (4, 4, 0) and the top centered at (4, 4, 7) and a radius of three:
IsOk = TecUtilCreateCircularZone(5,6,8, 4.0,4.0,3.0, 0.0,7.0, FieldDataType_Float);
| Boolean_t TecUtilCreateContourLineZones | ( | void | ) |
Create zones from contour lines.
Contour lines will only come from those zones with a contour style set to contour lines or lines and flood. One zone will be made from each contour level. The resulting zones are of type FE-Triangle.
INTEGER*4 FUNCTION TecUtilCreateContourLineZones()
Python Syntax:
Results = TecUtil.CreateContourLineZones()
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilCreateContourLineZonesX | ( | ArgList_pa | ArgList | ) |
Create zones from contour lines.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_CONTLINECREATEMODE
|
INTEGER*4 FUNCTION TecUtilCreateContourLineZonesX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.CreateContourLineZonesX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
ArgList_pa ArgList;
TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendInt(ArgList, SV_CONTLINECREATEMODE, (LgIndex_t)ContLineCreateMode_OneZonePerContourLevel); TecUtilCreateContourLineZonesX(ArgList); TecUtilArgListDealloc(&ArgList); TecUtilLockFinish(AddOnID);
| Boolean_t TecUtilCreateFEBoundary | ( | EntIndex_t | SourceZone, | |
| Boolean_t | RemoveBlankedSurfaces | |||
| ) |
Finite element volume boundaries cannot be turned on or off using the edge plot layer in Tecplot.
You can, however, create a separate zone which is a FE surface zone of the volume boundary. This new zone can then be turned on or off. One requirement for this function to work correctly is that adjacent cells must share the same node points along their common boundary.
| SourceZone | Zone to use. This must be a finite-element zone. | |
| RemoveBlankedSurfaces | If blanking is turned on, do not include faces of cells that border on blanked regions in the set of faces that become the resulting finite-element boundary zone. |
INTEGER*4 FUNCTION TecUtilCreateFEBoundary( & SourceZone, & RemoveBlankedSurfaces) INTEGER*4 SourceZone INTEGER*4 RemoveBlankedSurfaces
Python Syntax:
Results = TecUtil.CreateFEBoundary(SourceZone, RemoveBlankedSurfaces)
Input:
SourceZone int
RemoveBlankedSurfaces boolean
Output:
Results[0] ReturnVal boolean
Create a separate zone which is the boundary of the first zone:
TecUtilCreateFEBoundary(1,TRUE); // zone 1 must be finite element
| Boolean_t TecUtilCreateIsoZones | ( | void | ) |
Create finite element surface zones out of iso-surfaces in volume zones.
One zone will be made for each contour level.
INTEGER*4 FUNCTION TecUtilCreateIsoZones()
Python Syntax:
Results = TecUtil.CreateIsoZones()
Output:
Results[0] ReturnVal boolean
Create new zones that are mirror images of the source zones.
| SourceZones | Set of zones to mirror. A separate new zone is created for each zone in the set. Pass NULL to mirror all zones | |
| MirrorVar | Variable to negate. Use the following table to determine the value of MirrorVarin 2-D: Mirror about: MirrorVarX-Axis 'Y'Y-Axis 'X'in 3-D: Mirror about: MirrorVarX-Y Plane 'Z'Y-Z Plane 'X'X-Z Plane 'Y' |
INTEGER*4 FUNCTION TecUtilCreateMirrorZones( & SourceZonesPtr, & MirrorVar) POINTER (SourceZonesPtr, SourceZones) CHARACTER*(*) MirrorVar
Python Syntax:
Results = TecUtil.CreateMirrorZones(SourceZones, MirrorVar)
Input:
SourceZones sequence of ints
MirrorVar int
Output:
Results[0] ReturnVal boolean
Create two mirror zones about the X-axis:
Set_pa set = TecUtilSetAlloc(FALSE); if (set) { TecUtilSetAddMember(set,1,FALSE); // mirror zones 1 and 2 TecUtilSetAddMember(set,2,FALSE); TecUtilCreateMirrorZones(set,'X'); TecUtilSetDealloc(&set); }
| Boolean_t TecUtilCreateRectangularZone | ( | LgIndex_t | IMax, | |
| LgIndex_t | JMax, | |||
| LgIndex_t | KMax, | |||
| double | XMin, | |||
| double | YMin, | |||
| double | ZMin, | |||
| double | XMax, | |||
| double | YMax, | |||
| double | ZMax, | |||
| FieldDataType_e | FieldDataType | |||
| ) |
Create a rectangular zone.
If no data set exists when this command is executed, a data set is created with variables X, Y (and Z, if KMAX>1). If a data set exists prior to this command, the non-coordinate variables for the zone created are initialized to zero.
| IMax | I-Dimension of the zone to create. | |
| JMax | J-Dimension of the zone to create. | |
| KMax | K-Dimension of the zone to create. | |
| XMin | X min (occurs at I = 1) for the recangular zone. | |
| YMin | Y min (occurs at J = 1) for the recangular zone. | |
| ZMin | Z min (occurs at K = 1) for the recangular zone. | |
| XMax | X max (occurs at I = I-Max) for the recangular zone. | |
| YMax | Y max (occurs at J = J-Max) for the recangular zone. | |
| ZMax | Z max (occurs at K = K-Max) for the recangular zone. | |
| FieldDataType | Data type for the variables in the new zone. The possible choices are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Bit, FieldDataType_Byte, or FieldDataType_Invalid. If set to FieldDataType_Invalid, Tecplot will choose the type for you. |
INTEGER*4 FUNCTION TecUtilCreateRectangularZone( & IMax, & JMax, & KMax, & XMin, & YMin, & ZMin, & XMax, & YMax, & ZMax, & FieldDataType) INTEGER*4 IMax INTEGER*4 JMax INTEGER*4 KMax REAL*8 XMin REAL*8 YMin REAL*8 ZMin REAL*8 XMax REAL*8 YMax REAL*8 ZMax INTEGER*4 FieldDataType
Python Syntax:
Results = TecUtil.CreateRectangularZone(IMax, JMax, KMax, XMin, YMin, ZMin, XMax, YMax, ZMax, FieldDataType)
Input:
IMax int
JMax int
KMax int
XMin double
YMin double
ZMin double
XMax double
YMax double
ZMax double
FieldDataType FieldDataType_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Create a 16 by 8 by 2 zone that is specified from zero to one in all directions:
Boolean_t ISOK; ISOK = TecUtilCreateRectangularZone(16, // imax 8, // jmax 2, // kmax 0,0,0, // x,y,z min 1,1,1, // x,y,z max FieldDataType_Float);
FORTRAN EXAMPLE: Create 10x10x10 zone:
IErr = TecUtilCreateRectangularZone(10,10,10, & 0.0D0,0.0D0,0.0D0, & 1.0D0,1.0D0,1.0D0, &
| Boolean_t TecUtilCreateSimpleXYZone | ( | LgIndex_t | NumPoints, | |
| const double * | XValues, | |||
| const double * | YValues, | |||
| FieldDataType_e | FieldDataType | |||
| ) |
| Boolean_t TecUtilCreateSimpleZone | ( | LgIndex_t | NumPoints, | |
| const double * | V1Values, | |||
| const double * | V2Values, | |||
| FieldDataType_e | FieldDataType | |||
| ) |
Create a new zone by specifying only a list of XY pairs of data.
If other zones exist prior to using this function and there are more than two variables, then the additional variables are also created and set to zero.
| NumPoints | Number of XY pairs of data. | |
| V1Values | Array of X (or theta) values for the zone. | |
| V2Values | Array of Y (or R) values for the zone. | |
| FieldDataType | Data type for the variables in the new zone. The possible choices are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Bit, FieldDataType_Byte, or FieldDataType_Invalid. If set to FieldDataType_Invalid, Tecplot will choose the type for you. |
INTEGER*4 FUNCTION TecUtilCreateSimpleZone( & NumPoints, & V1Values, & V2Values, & FieldDataType) INTEGER*4 NumPoints REAL*8 V1Values REAL*8 V2Values INTEGER*4 FieldDataType
Python Syntax:
Results = TecUtil.CreateSimpleZone(NumPoints, V1Values, V2Values, FieldDataType)
Input:
NumPoints int
V1Values list of doubles
V2Values list of doubles
FieldDataType FieldDataType_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Create a zone containing three points: (0.0, 1.0), (1.0, 1.1), and (2.0, 1.3):
double xarray[3] = {0.0, 1.0, 2.0}; double yarray[3] = {1.0, 1.1, 1.3); Boolean_t IsOk; IsOk = TecUtilCreateSimpleZone(3, xarray, yarray, FieldDataType_Float);
| Boolean_t TecUtilCreateSliceZone | ( | double | OriginX, | |
| double | OriginY, | |||
| double | OriginZ, | |||
| double | NormalX, | |||
| double | NormalY, | |||
| double | NormalZ | |||
| ) |
| Boolean_t TecUtilCreateSliceZoneFromPlane | ( | SliceSource_e | SliceSource, | |
| double | OriginX, | |||
| double | OriginY, | |||
| double | OriginZ, | |||
| double | NormalX, | |||
| double | NormalY, | |||
| double | NormalZ | |||
| ) |
Create a new zone as a slice through the currently active zones that match the specified slice source and are intersected by a slice plane having the specified origin and normal.
| SliceSource | Source for slicing. The possible choices are:SliceSource_SurfaceZonesSliceSource_VolumeZonesSliceSource_SurfacesOfVolumeZones | |
| OriginX | X-Coordinate for the slicing plane origin. | |
| OriginY | Y-Coordinate for the slicing plane origin. | |
| OriginZ | Z-Coordinate for the slicing plane origin. | |
| NormalX | X-Component for the vector normal to the slicing plane | |
| NormalY | Y-Component for the vector normal to the slicing plane | |
| NormalZ | Z-Component for the vector normal to the slicing plane |
INTEGER*4 FUNCTION TecUtilCreateSliceZoneFromPlane( & SliceSource, & OriginX, & OriginY, & OriginZ, & NormalX, & NormalY, & NormalZ) INTEGER*4 SliceSource REAL*8 OriginX REAL*8 OriginY REAL*8 OriginZ REAL*8 NormalX REAL*8 NormalY REAL*8 NormalZ
Python Syntax:
Results = TecUtil.CreateSliceZoneFromPlane(SliceSource, OriginX, OriginY, OriginZ, NormalX, NormalY, NormalZ)
Input:
SliceSource SliceSource_e (defined in TecVals.py)
OriginX double
OriginY double
OriginZ double
NormalX double
NormalY double
NormalZ double
Output:
Results[0] ReturnVal boolean
Slice 3-D volume zones with a the plane X=2.5:
TecUtilCreateSliceZoneFromPlane(SliceSource_VolumeZones, 2.5, 0.0, 0.0, 1.0, 0.0, 0.0);
| Boolean_t TecUtilCreateSliceZoneFromPlneX | ( | ArgList_pa | ArgList | ) |
Create a zone from a slice taken from a 3D plot.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_SLICESOURCE
SV_FORCEEXTRACTIONTOSINGLEZONE
SV_COPYCELLCENTEREDVALUES
SV_ORIGINX
SV_ORIGINY
SV_ORIGINZ
SV_NORMALX
SV_NORMALY
SV_NORMALZ
|
INTEGER*4 FUNCTION TecUtilCreateSliceZoneFromPlneX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.CreateSliceZoneFromPlneX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
ArgList_pa ArgList; TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendInt(ArgList, SV_SLICESOURCE, (LgIndex_t)SliceSource_SurfaceZones); TecUtilArgListAppendInt(ArgList, SV_FORCEEXTRACTIONTOSINGLEZONE, (LgIndex_t)TRUE); TecUtilArgListAppendInt(ArgList, SV_COPYCELLCENTEREDVALUES, (LgIndex_t)TRUE); TecUtilArgListAppendDouble(ArgList, SV_ORIGINX, 0.0); TecUtilArgListAppendDouble(ArgList, SV_ORIGINY, 0.0); TecUtilArgListAppendDouble(ArgList, SV_ORIGINZ, 0.0); TecUtilArgListAppendDouble(ArgList, SV_NORMALX, 0.9); TecUtilArgListAppendDouble(ArgList, SV_NORMALY, 0.9); TecUtilArgListAppendDouble(ArgList, SV_NORMALZ, 0.9); TecUtilCreateSliceZoneFromPlneX(ArgList); TecUtilArgListDealloc(&ArgList); TecUtilLockFinish(AddOnID);
| Boolean_t TecUtilCreateSliceZones | ( | void | ) |
Create surface zones out of all slices currently defined in volume zones.
One zone is made for each defined slice.
INTEGER*4 FUNCTION TecUtilCreateSliceZones()
Python Syntax:
Results = TecUtil.CreateSliceZones()
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilCreateSphericalZone | ( | LgIndex_t | IMax, | |
| LgIndex_t | JMax, | |||
| double | XOrigin, | |||
| double | YOrigin, | |||
| double | ZOrigin, | |||
| double | Radius, | |||
| FieldDataType_e | FieldDataType | |||
| ) |
Create a Spherical IJ-ordered zone.
If no data set exists when this command is executed, a data set is created with variables X, Y and Z. If a data set exists prior to this command, the non-coordinate variables for the zone created are initialized to zero.
| IMax | I-Dimension of the zone to create. I is in the psi direction, where psi represents the angle from the Z-axis. | |
| JMax | J-Dimension of the zone to create. J is in the theta direction, where theta represents the angle in the XY-plane. | |
| XOrigin | X-Origin for the sphere. | |
| YOrigin | Y-Origin for the sphere. | |
| ZOrigin | Y-Origin for the sphere. | |
| Radius | Radius of the sphere. | |
| FieldDataType | Data type for the variables in the new zone. The possible choices are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Bit, FieldDataType_Byte, or FieldDataType_Invalid. If set to FieldDataType_Invalid, Tecplot will choose the type for you. |
INTEGER*4 FUNCTION TecUtilCreateSphericalZone( & IMax, & JMax, & XOrigin, & YOrigin, & ZOrigin, & Radius, & FieldDataType) INTEGER*4 IMax INTEGER*4 JMax REAL*8 XOrigin REAL*8 YOrigin REAL*8 ZOrigin REAL*8 Radius INTEGER*4 FieldDataType
Python Syntax:
Results = TecUtil.CreateSphericalZone(IMax, JMax, XOrigin, YOrigin, ZOrigin, Radius, FieldDataType)
Input:
IMax int
JMax int
XOrigin double
YOrigin double
ZOrigin double
Radius double
FieldDataType FieldDataType_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Create a Spherical 10 by 20 IJ-ordered zone centered at (5,6,7) with a radius of two:
Boolean_t IsOk; IsOk = TecUtilCreateSphericalZone(10,20, 5.0,6.0,7.0, 2.0, FieldDataType_Float);
Create one or more zones out of the currently defined streamtraces.
The new zones have the same number of variables per data point as the other zones in the data set with all non-coordinate variables interpolated at the positions along the streamtrace.
| ConcatenateStreams | Set to TRUE to create a single zone out of all common streamtraces. The cell that connects the end of one streamtrace with the beginning of the next can later be turned off using value-blanking |
INTEGER*4 FUNCTION TecUtilCreateStreamZones(ConcatenateStreams) INTEGER*4 ConcatenateStreams
Python Syntax:
Results = TecUtil.CreateStreamZones(ConcatenateStreams)
Input:
ConcatenateStreams boolean
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilCurveRegisterExtCrvFit | ( | const char * | CurveFitName, | |
| GetLinePlotDataPointsCallback_pf | GetLinePlotDataPointsCallback, | |||
| GetProbeValueCallback_pf | GetProbeValueCallback, | |||
| GetCurveInfoStringCallback_pf | GetCurveInfoStringCallback, | |||
| GetCurveSettingsCallback_pf | GetCurveSettingsCallback, | |||
| GetAbbreviatedSettingsStringCallback_pf | GetAbbreviatedSettingsStringCallback | |||
| ) |
Registers an extended curve fit add-on.
This will add an option to the single selection list launched by the Curve Type/Extended option on the Curves page of the Plot Attributes dialog.
| CurveFitName | Unique name given to the extended curve fit. This name is used in the list of extended curve fits in the Extended Curve Fits dialog, launched from Curve Type/Extended in the Plot Attributes dialog. | |
| GetLinePlotDataPointsCallback | The name of the function that will calculate the curve fit. This is the only function that needs to be defined to create an extended curve fit add-on. | |
| GetProbeValueCallback | The name of the function that will return the dependent value when the extended curve fit is probed at a given independent value. If this function is set to NULL, Tecplot will perform a linear interpolation based on the values returned by the GetLinePlotDataPoints function. | |
| GetCurveInfoStringCallback | The name of the function that will create a string to be presented in the Data/LinePlot Curve Info dialog. This callback may be set to NULL if you do not wish to present a string to the LinePlot Curve Info dialog. | |
| GetCurveSettingsCallback | The name of the function that is called when the Curve Settings button on the Curves page of the Plot Attributes dialog is pressed while the extended curve fit is set as the Curve Type. This function may be set to NULL if there are not configurable settings for the extended curve fit. If settings are changed, it is the responsibility of the add-on writer to inform Tecplot of the change by calling the function TecUtilCurveSetExtendedSettings(). This function is usually called when OK is clicked on the add-on dialog. | |
| GetAbbreviatedSettingsStringCallback | See GetAbbreviatedSettingsStringCallback_pf. |
INTEGER*4 FUNCTION TecUtilCurveRegisterExtCrvFit( & CurveFitName, & GetLinePlotDataPointsCallback, & GetProbeValueCallback, & GetCurveInfoStringCallback, & GetCurveSettingsCallback, & GetAbbreviatedSettingsStringCallback) CHARACTER*(*) CurveFitName POINTER (GetLinePlotDataPointsCallbackPtr, GetLinePlotDataPointsCallback) POINTER (GetProbeValueCallbackPtr, GetProbeValueCallback) POINTER (GetCurveInfoStringCallbackPtr, GetCurveInfoStringCallback) POINTER (GetCurveSettingsCallbackPtr, GetCurveSettingsCallback) POINTER (GetAbbreviatedSettingsStringCallbackPtr, GetAbbreviatedSettingsStringCallback)
Python Syntax:
This function is not supported in Python.
| SetValueReturnCode_e TecUtilCurveSetExtendedSettings | ( | EntIndex_t | LineMapNum, | |
| const char * | Settings | |||
| ) |
Sets the extended curve fit settings for the set of Line-maps selected in the Plot Attributes dialog.
| LineMapNum | LineMapNum is the map number that is currently being operated on. | |
| Settings | Settings is the current settings for your extended curve fit. This string will be maintained by Tecplot and saved in layouts. |
INTEGER*4 FUNCTION TecUtilCurveSetExtendedSettings( & LineMapNum, & Settings) INTEGER*4 LineMapNum CHARACTER*(*) Settings
Python Syntax:
Results = TecUtil.CurveSetExtendedSettings(LineMapNum, Settings)
Input:
LineMapNum int
Settings string
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
| Boolean_t TecUtilCurveWriteInfo | ( | const char * | FileName, | |
| EntIndex_t | LineMap, | |||
| CurveInfoMode_e | CurveInfoMode | |||
| ) |
Write out the coefficients or the calculated data points for the equations used to draw the curve for a selected line-mapping.
| FileName | File name. Must not be NULL | |
| LineMap | The number of a line-mapping that does some type of curve fit or spline | |
| CurveInfoMode | The possible values are: CurveInfoMode_Coefficients, CurveInfoMode_RawData, and CurveInfoMode_Macro |
INTEGER*4 FUNCTION TecUtilCurveWriteInfo( & FileName, & LineMap, & CurveInfoMode) CHARACTER*(*) FileName INTEGER*4 LineMap INTEGER*4 CurveInfoMode
Python Syntax:
Results = TecUtil.CurveWriteInfo(FileName, LineMap, CurveInfoMode)
Input:
FileName string
LineMap int
CurveInfoMode CurveInfoMode_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Write out the coefficients for line-mapping number 3 to the file map3.out:
Boolean_t IsOk; IsOk = TecUtilCurveWriteInfo("map3.out", 3,CurveInfoMode_Coefficients);
| Boolean_t TecUtilDataAlter | ( | const char * | Equation, | |
| Set_pa | ZoneSet, | |||
| LgIndex_t | IMin, | |||
| LgIndex_t | IMax, | |||
| LgIndex_t | ISkip, | |||
| LgIndex_t | JMin, | |||
| LgIndex_t | JMax, | |||
| LgIndex_t | JSkip, | |||
| LgIndex_t | KMin, | |||
| LgIndex_t | KMax, | |||
| LgIndex_t | KSkip, | |||
| FieldDataType_e | DestDataType | |||
| ) |
Operates on a data set within Tecplot using FORTRAN-like equations.
See Section 8.2, "Data Alteration through Equations," in the Tecplot User's Manual for more information on using equations in Tecplot.
| Equation | String containing the equation | |
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones | |
| IMin | Operate on values starting at an I-Index range of IMin. Set to 1 when operating on the entire range. | |
| IMax | Operate on values ending at an I-Index range of IMax. Set to 0 to specify the maximum I index. | |
| ISkip | Operate on values skipping by ISkip in the I-Direction. Set to 0 to specify one less than the maximum I index range. | |
| JMin | See IMin. | |
| JMax | See IMax. | |
| JSkip | See ISkip. | |
| KMin | See IMin. | |
| KMax | See IMax. | |
| KSkip | See ISkip. | |
| DestDataType | Data type for the variable on the left hand side. This is used only if this variable is being created for the first time. The possible choices are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Bit, FieldDataType_Byte, or FieldDataType_Invalid. If set to FieldDataType_Invalid, Tecplot will choose the type for you. |
INTEGER*4 FUNCTION TecUtilDataAlter( & Equation, & ZoneSetPtr, & IMin, & IMax, & ISkip, & JMin, & JMax, & JSkip, & KMin, & KMax, & KSkip, & DestDataType) CHARACTER*(*) Equation POINTER (ZoneSetPtr, ZoneSet) INTEGER*4 IMin INTEGER*4 IMax INTEGER*4 ISkip INTEGER*4 JMin INTEGER*4 JMax INTEGER*4 JSkip INTEGER*4 KMin INTEGER*4 KMax INTEGER*4 KSkip INTEGER*4 DestDataType
Python Syntax:
Results = TecUtil.DataAlter(Equation, ZoneSet, IMin, IMax, ISkip, JMin, JMax, JSkip, KMin, KMax, KSkip, DestDataType)
Input:
Equation string
ZoneSet sequence of ints
IMin int
IMax int
ISkip int
JMin int
JMax int
JSkip int
KMin int
KMax int
KSkip int
DestDataType FieldDataType_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Add 2 to X in zones 1 and 3. Operate only data points where J is greater than or equal to three and less than or equal to ten:
if (TecUtilDataSetIsAvailable()) { Set_pa ZoneSet; Boolean_t IsOk = FALSE; ZoneSet = TecUtilSetAlloc(TRUE); if (ZoneSet) { TecUtilSetAddMember(ZoneSet,1,TRUE); TecUtilSetAddMember(ZoneSet,3,TRUE); IsOk = TecUtilDataAlter("X = X + 2", ZoneSet, 1,0,1, // All I-Values 3,10,1 // 3 <= J <= 10 1,0,1, // All K Values FieldDataType_Float); TecUtilSetDealloc(&ZoneSet); } }
Fortran Example. Execute X = X + 2 on all points in all zones:
POINTER(NullPtr, Null)
INTEGER*4 IsOk
NullPtr = 0
if (TecUtilDataSetIsAvailable().EQ.TRUE) then
IsOk = TecUtilDataAlter('X = X + 2'//char(0),
& NullPtr,
& 1,0,1,
& 1,0,1,
& 1,0,1,
& FieldDataType_Float)
Endif
| Boolean_t TecUtilDataConnectBranchShared | ( | EntIndex_t | Zone | ) |
Branch the connectivity information.
Returns False if out of memory.
| Zone | Zone number where connectivity is to be branched. |
INTEGER*4 FUNCTION TecUtilDataConnectBranchShared(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.DataConnectBranchShared(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
| EntIndex_t TecUtilDataConnectGetShareCount | ( | EntIndex_t | Zone | ) |
Returns the share count for connectivity for the given zone.
This is the number of times the connectivity is shared. 1 means not shared (shared once), 2 means two zones share it, etc.
| Zone | Zone number where connectivity is to be branched. |
INTEGER*4 FUNCTION TecUtilDataConnectGetShareCount(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.DataConnectGetShareCount(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal int
| Boolean_t TecUtilDataConnectIsSharingOk | ( | EntIndex_t | SourceZone, | |
| EntIndex_t | DestZone | |||
| ) |
Determine if it is ok to share the connectivity between zones.
| SourceZone | The source zone (the zone where the values will be stored). | |
| DestZone | The destination zone (the zone acquiring the shared values). |
INTEGER*4 FUNCTION TecUtilDataConnectIsSharingOk( & SourceZone, & DestZone) INTEGER*4 SourceZone INTEGER*4 DestZone
Python Syntax:
Results = TecUtil.DataConnectIsSharingOk(SourceZone, DestZone)
Input:
SourceZone int
DestZone int
Output:
Results[0] ReturnVal boolean
If sharing is ok for connectivity between zones 3 and 5 then share the connectivity.
if (TecUtilDataConnectIsSharingOk(3,5)) TecUtilDataConnectShare(3,5);
| void TecUtilDataConnectShare | ( | EntIndex_t | SourceZone, | |
| EntIndex_t | DestZone | |||
| ) |
Sets the properties of the connectivity so that it is shared between source and destination zones (using the source for values).
Both zones must have the same structure (both Ordered with the same I,J, and K values; or both are finite-elements with the same element type and same number of nodes). Both zones must also have the same local face neighbor mode.
| SourceZone | The zone number where the connectivity is based. | |
| DestZone | The zone number where the connectivity will be shared from the source zone. |
SUBROUTINE TecUtilDataConnectShare( & SourceZone, & DestZone) INTEGER*4 SourceZone INTEGER*4 DestZone
Python Syntax:
Results = TecUtil.DataConnectShare(SourceZone, DestZone)
Input:
SourceZone int
DestZone int
Output:
Results[0] ReturnVal NONE
Set the connectivity in zone 3 to be shared with zone 2:
TecUtilDataConnectShare(2, 3);
| LgIndex_t TecUtilDataElemGetFace | ( | ElemToFaceMap_pa | ElemToFaceMap, | |
| LgIndex_t | Elem, | |||
| ElemFaceOffset_t | FaceOffset | |||
| ) |
Gets the specified face number for the specified polyhedral or polygonal element.
| ElemToFaceMap | The element-to-face map handle | |
| Elem | The element for which to return the number of faces. | |
| FaceOffset | The face offset for which to return the face number. Must be in the range [1, n], where n is the number of faces returned by TecUtilDataElemGetNumFaces for the specified element. |
INTEGER*4 FUNCTION TecUtilDataElemGetNumFaces ( & ElemToFaceMapPtr, & Elem, & FaceOffset) POINTER (ElemToFaceMapPtr, ElemToFaceMap) INTEGER*4 Elem INTEGER*4 FaceOffset
Python Syntax:
Results = TecUtil.DataElemGetFace(ElemToFaceMap, Elem, FaceOffset)
Input:
ElemToFaceMap opaque pointer
Elem int
FaceOffset int
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilDataElemGetNumFaces | ( | ElemToFaceMap_pa | ElemToFaceMap, | |
| LgIndex_t | Elem | |||
| ) |
Gets the number of faces that comprise the specified polyhedral or polygonal element.
| ElemToFaceMap | The element-to-face map handle | |
| Elem | The element for which to return the number of faces. |
INTEGER*4 FUNCTION TecUtilDataElemGetNumFaces ( & ElemToFaceMapPtr, & Elem) POINTER (ElemToFaceMapPtr, ElemToFaceMap) INTEGER*4 Elem
Python Syntax:
Results = TecUtil.DataElemGetNumFaces(ElemToFaceMap, Elem)
Input:
ElemToFaceMap opaque pointer
Elem int
Output:
Results[0] ReturnVal int
| ElemToFaceMap_pa TecUtilDataElemGetReadableRef | ( | EntIndex_t | Zone | ) |
Gets a readable element-to-face mapping for the specified polyhedral or polygonal zone of the current frame.
| Zone | Polyhedral or polygonal zone number. |
SUBROUTINE TecUtilDataElemGetReadableRef ( & Zone, & ElemToFaceMapPtr) INTEGER*4 Zone POINTER (ElemToFaceMapPtr, ElemToFaceMap)
Python Syntax:
Results = TecUtil.DataElemGetReadableRef(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal opaque pointer
| Boolean_t TecUtilDataFaceMapAlloc | ( | EntIndex_t | Zone, | |
| LgIndex_t | NumFaces, | |||
| LgIndex_t | NumFaceNodes, | |||
| LgIndex_t | NumFaceBndryFaces, | |||
| LgIndex_t | NumFaceBndryConns | |||
| ) |
Allocates the space needed for the face mapping.
| Zone | The zone needing the face mapping allocated. | |
| NumFaces | Total number of unique faces. | |
| NumFaceNodes | Total number of nodes for all faces. This is not the number of unique nodes but the total number. For example if a face map defined two triangles polygons that share a common face, NumFaces would be 5 and NumFaceNodes would be 6, not 4. | |
| NumFaceBndryFaces | Total number of faces boundary faces. | |
| NumFaceBndryConns | Total number of boundary face elements or boundary face element/zone pairs. |
INTEGER*4 FUNCTION TecUtilDataFaceMapAlloc( & Zone, & NumFaces, & NumFaceNodes, & NumFaceBndryFaces, & NumFaceBndryConns) INTEGER*4 Zone INTEGER*4 NumFaces INTEGER*4 NumFaceNodes INTEGER*4 NumFaceBndryFaces INTEGER*4 NumFaceBndryConns
Python Syntax:
Results = TecUtil.DataFaceMapAlloc(Zone, NumFaces, NumFaceNodes, NumFaceBndryFaces, NumFaceBndryConns)
Input:
Zone int
NumFaces int
NumFaceNodes int
NumFaceBndryFaces int
NumFaceBndryConns int
Output:
Results[0] ReturnVal boolean
Allocate the face map of zone 3.
IsOk = TecUtilDataFaceMapAlloc(3, NumFaces, NumFaceNodes, NumFaceBndryFaces, NumFaceBndryConns);
| void TecUtilDataFaceMapAssignBConns | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | NumBndryFaces, | |||
| const LgIndex_t * | NumBndryConns, | |||
| const LgIndex_t * | FaceBndryElems, | |||
| const EntIndex_t * | FaceBndryElemZones | |||
| ) |
Assigns the supplied boundary connected elements and zones to the open face-mapping assignment context.
The boundary faces were assigned using a negative number for the left or right element of the face.
| FaceMap | An open face-mapping assignment context to which the boundary face elements (and zones if appropriate) are assigned. | |
| NumBndryFaces | The number of boundary faces being delivered. | |
| NumBndryConns | Array of boundary connection counts dimensioned by NumBndryFaces. | |
| FaceBndryElems | Array of boundary connected elements for the supplied faces dimensioned by the sum of the members of the NumBndryConns array. If only a portion of a boundary face has adjacent elements, use TECUTIL_NO_NEIGHBORING_ELEM for the first neighboring element, and follow this with the actual elements. | |
| FaceBndryElemZones | Array of zone numbers indicating which zone each of the elements in the FaceBndryElems array resides in. It has the same dimension as the FaceBndryElems array. For boundary faces that are only partially bounded by neighboring elements (indicated by TECUTIL_NO_NEIGHBORING_ELEM in the FaceBndryElems array), use TECUTIL_NO_NEIGHBORING_ZONE for the zone numbers corresponding to the 0-th entry in FaceBndryElems. Also use TECUTIL_NO_NEIGHBORING_ZONE to indicate the boundary element is in the current zone (do not use the current zone number). |
SUBROUTINE TecUtilDataFaceMapAssignBConns ( & FaceMapPtr, & NumBndryFaces, & NumBndryConns, & FaceBndryElems, & FaceBndryElemZones) POINTER (FaceMapPtr, FaceMap) INTEGER*4 NumBndryFaces INTEGER*4 NumBndryConns(*) INTEGER*4 FaceBndryElems(*) INTEGER*4 FaceBndryElemZones(*)
Python Syntax:
Results = TecUtil.DataFaceMapAssignBConns(FaceMap, NumBndryFaces, NumBndryConns, FaceBndryElems, FaceBndryElemZones)
Input:
FaceMap opaque pointer
NumBndryFaces int
NumBndryConns list of ints
FaceBndryElems list of ints
FaceBndryElemZones list of ints
Output:
Results[0] ReturnVal NONE
| void TecUtilDataFaceMapAssignElems | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | NumFaces, | |||
| const LgIndex_t * | FaceLeftElems, | |||
| const LgIndex_t * | FaceRightElems | |||
| ) |
Assigns the supplied face left and right elements to the open face-mapping assignment context.
The faces for the elements are implicitly given sequential face numbers. Calls to this routine may be intermingled with calls to TecUtilDataFaceMapAssignNodes. The only requirement is that the nodes and elements be delivered in the same order. That is, the nth face defined by TecUtilDataFaceMapAssignNodes must correspond to the nth pair of neighboring elements passed into TecUtilDataFaceMapAssignElems.
| FaceMap | An open face-mapping assignment context to which the face left and right elements are assigned. | |
| NumFaces | The number of faces being delivered. | |
| FaceLeftElems | Array of face left elements for the supplied faces dimensioned by NumFaces. | |
| FaceRightElems | Array of face right elements for the supplied faces dimensioned by NumFaces. |
SUBROUTINE TecUtilDataFaceMapAssignElems ( & FaceMapPtr, & NumFaces, & FaceLeftElems, & FaceRightElems) POINTER (FaceMapPtr, FaceMap) INTEGER*4 NumFaces INTEGER*4 FaceLeftElems(*) INTEGER*4 FaceRightElems(*)
Python Syntax:
Results = TecUtil.DataFaceMapAssignElems(FaceMap, NumFaces, FaceLeftElems, FaceRightElems)
Input:
FaceMap opaque pointer
NumFaces int
FaceLeftElems list of ints
FaceRightElems list of ints
Output:
Results[0] ReturnVal NONE
| void TecUtilDataFaceMapAssignNodes | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | NumFaces, | |||
| const LgIndex_t * | NumFaceNodes, | |||
| const LgIndex_t * | FaceNodes | |||
| ) |
Assigns the supplied face nodes to the open face-mapping assignment context.
The faces for the nodes are implicitly given sequential face numbers. This function can deliver all the face nodes at once or one or more faces at a time. Calls to this routine may be intermingled with calls to TecUtilDataFaceMapAssignElems. The only requirement is that the nodes and elements be delivered in the same order. That is, the nth face defined by TecUtilDataFaceMapAssignNodes must correspond to the nth pair of neighboring elements passed into TecUtilDataFaceMapAssignElems.
| FaceMap | An open face-mapping assignment context to which the face nodes are assigned. | |
| NumFaces | The number of faces being delivered. | |
| NumFaceNodes | Array of face nodes counts dimensioned by NumFaces. | |
| FaceNodes | Array of face nodes for the supplied faces dimensioned by the sum of the members of the NumFaceNodes array. |
SUBROUTINE TecUtilDataFaceMapAssignNodes ( & FaceMapPtr, & NumFaces, & NumFaceNodes, & FaceNodes) POINTER (FaceMapPtr, FaceMap) INTEGER*4 NumFaces INTEGER*4 NumFaceNodes(*) INTEGER*4 FaceNodes(*)
Python Syntax:
Results = TecUtil.DataFaceMapAssignNodes(FaceMap, NumFaces, NumFaceNodes, FaceNodes)
Input:
FaceMap opaque pointer
NumFaces int
NumFaceNodes list of ints
FaceNodes list of ints
Output:
Results[0] ReturnVal NONE
| void TecUtilDataFaceMapBeginAssign | ( | FaceMap_pa | FaceMap | ) |
Opens a face-mapping assignment context.
All face nodes and elements must be delivered between the face map begin/end assignment clause.
| FaceMap | Face mapping to which face nodes and elements are assigned. |
SUBROUTINE TecUtilDataFaceMapBeginAssign ( & FaceMapPtr) POINTER (FaceMapPtr, FaceMap)
Python Syntax:
Results = TecUtil.DataFaceMapBeginAssign(FaceMap)
Input:
FaceMap opaque pointer
Output:
Results[0] ReturnVal NONE
| Boolean_t TecUtilDataFaceMapCustomLOD | ( | EntIndex_t | Zone, | |
| LgIndex_t | NumFaces, | |||
| LgIndex_t | NumFaceNodes, | |||
| LgIndex_t | NumFaceBndryFaces, | |||
| LgIndex_t | NumFaceBndryConns, | |||
| LoadOnDemandFaceMapLoad_pf | LoadCallback, | |||
| LoadOnDemandFaceMapUnload_pf | UnloadCallback, | |||
| LoadOnDemandFaceMapCleanup_pf | CleanupCallback, | |||
| ArbParam_t | ClientData | |||
| ) |
Registers with Tecplot the load-on-demand callbacks and client data for a face mapping for a specific zone.
Tecplot will notify the add-on via the callbacks when the face mapping needs to be loaded, unloaded, and cleaned up.
All callbacks must be written in a thread-safe manner so that Tecplot can make parallel requests to load (and/or unload) multiple face mappings. The easiest way to write thread-safe callbacks is not to use any shared state (i.e. global or static state) in order to perform the requested action but instead to use private client data to maintain all the information needed to perform the requested action.
Calls made back to Tecplot in response to a load, unload, or cleanup request should be limited to queries except in the case where data is being loaded into a face mapping. In addition, no state changes should be broadcast by the callbacks.
This function is used in conjunction with deferred variable creation. See the SV_DEFERVARCREATION option for TecUtilDataSetAddZoneX() and TecUtilDataSetAddVarX() for details.
The method for loading and accessing face map data with custom load-on-demand is similar to custom load-on-demand for field data (see ADK Users Manual for details): The add-on supplied LoadCallback() callback is responsible for loading the entire face map data into the Tecplot prepared face map backing. Tecplot is responsible for allocating and freeing the space for the face map backing. In addition, the add-on must supply the CleanupCallback() callback to receive notification of when the face map is no longer needed. Optionally, the add-on may supply the UnloadCallback() callback to receive notification of when the face map is being unloaded. Most add-ons should supply NULL for the UnloadCallback() callback, instructing Tecplot to assume responsibility for unloading the face map and re-loading it in an efficient form.
| Zone | Zone for which the face map will now be custom load-on-demand. | |
| NumFaces | Total number of unique faces. | |
| NumFaceNodes | Total number of nodes for all faces. This is not the number of unique nodes but the total number. For example if a face map defined two triangles polygons that share a common face, NumFaces would be 5 and NumFaceNodes would be 6, not 4. | |
| NumFaceBndryFaces | Total number of faces boundary faces. | |
| NumFaceBndryConns | Total number of boundary connected elements or element/zone pairs. | |
| LoadCallback | Tecplot calls this callback when the face map is to be loaded. The LoadCallback() callback may never get called if the face map is not needed or it may get called immediately if load-on-demand capabilities are not available. This callback is called asynchronously. This callback must NOT lock/unlock Tecplot. | |
| UnloadCallback | Most add-ons will supply NULL for this callback. Supplying NULL instructs Tecplot to handle the unloading (and subsequent reloading) of the face map without the intervention of the add-on. If the add-on does supply this callback, Tecplot calls it when the face map is to be unloaded. This query provides the add-on an opportunity to allow or deny a face map to be unloaded by returning TRUE or FALSE respectively. Unless there is a compelling reason, such as very expensive load costs (in which case NULL should probably be supplied for this callback), the add-on should honor Tecplot's request to unload the face map (i.e. the UnloadCallback() callback should return TRUE). An add-on may also cleanup any private resources that are not needed when the face map is unloaded, however the add-on must still maintain enough information to load the face map again if requested by Tecplot. The UnloadCallback() callback may never get called if the face map does not need to be unloaded nor will the UnloadCallback() callback necessarily be called before the CleanupCallback() callback. This callback is called asynchronously. This callback must NOT lock/unlock Tecplot. | |
| CleanupCallback | Tecplot calls this callback when the face map is to be cleaned up. This allows the add-on to cleanup any private resources that were used in conjunction with identifying or loading this face map. After a face map is cleaned up Tecplot will never again request it to be loaded. Tecplot may or may not call the UnloadCallback() callback before calling the CleanupCallback() callback. Additionally, the CleanupCallback() callback will be called even if the face map was never loaded. This callback is called asynchronously. This callback must NOT lock/unlock Tecplot. | |
| ClientData | Private client data needed by the custom load-on-demand callbacks to perform the duties of loading, unloading, and cleaning up the face. Tecplot stores the client data in the face map structure and must be retrieved by the callbacks using TecUtilDataFaceMapGetClientData(). The client data should ONLY be retrieved in response to a custom load, unload, or cleanup callback. At no other time is the request valid. |
typedef struct { char *DataFileName; long SeekOffset; ... other information needed to load face map data } MyFaceMapClientData_s; Boolean_t MyFaceMapLoader(FaceMap_pa FaceMap) { REQUIRE(VALID_REF(FaceMap)); MyFaceMapClientData_s *MyClientData = (MyFaceMapClientData_s *)TecUtilDataFaceMapGetClientData(FaceMap); // open the data file FILE *MyDataFile = fopen(MyClientData->DataFileName, "rb"); Boolean_t IsOk = (MyDataFile != NULL); // seek to the place in the file where the face map data is located IsOk = IsOk && (fseek(MyDataFile, MyClientData->SeekOffset, SEEK_SET) == 0); if (IsOk) { // load the data into the zone's face map IsOk = ReadMyFaceMapDataIntoZone(MyDataFile, MyClientData, FaceMap); } // cleanup if (MyDataFile != NULL) fclose(MyDataFile); ENSURE(VALID_BOOLEAN(IsOk)); return IsOk; } Boolean_t MyFaceMapUnload(FaceMap_pa FaceMap) { REQUIRE(VALID_REF(FaceMap)); // We don't have any private data to cleanup (i.e. in addition to the // private client data which we don't cleanup here) so all we have to do // is return TRUE or FALSE letting Tecplot know that it can or can not // unload the face map. Boolean_t Result = TRUE; // ...tell Tecplot to go ahead and unload the face map ENSURE(VALID_BOOLEAN(Result)); return Result; } void MyFaceMapCleanup(FaceMap_pa FaceMap) { REQUIRE(VALID_REF(FaceMap)); MyFaceMapClientData_s *MyClientData = (MyFaceMapClientData_s *)TecUtilDataFaceMapGetClientData(FaceMap); // cleanup privately allocated resources free(MyClientData->DataFileName); free(MyClientData); } . . . LgIndex_t NumFaces = ... // number of unique faces LgIndex_t NumFaceNodes = ... // total number of face nodes LgIndex_t NumFaceBndryFaces = ... // total number of boundary faces LgIndex_t NumFaceBndryConns = ... // total number of boundary face Connections MyFaceMapClientData_s *MyClientData = (MyFaceMapClientData_s *)malloc(sizeof(MyFaceMapClientData_s)); const char *MyDataFileName = "MyDataFileName.dat"; MyClientData->MyDataFileName = (char *)malloc(strlen(MyDataFileName)+1); strcpy(MyClientData->MyDataFileName, MyDataFileName); MyClientData->SeekOffset = ... determined somewhere else ... initialize any other client data information needed to load face map data IsOk = TecUtilDataFaceMapCustomLOD(3, NumFaces, NumFaceNodes, NumFaceBndryFaces, NumFaceBndryConns, MyFaceMapLoader, MyFaceMapUnload, // most add-ons should pass NULL instead of MyFaceMapUnload MyFaceMapCleanup, (ArbParam_t)MyClientData);
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilDataFaceMapEndAssign | ( | FaceMap_pa | FaceMap | ) |
Ends a face-mapping assignment sequence.
All face nodes and elements must be delivered between the face map begin/end assignment clause.
| FaceMap | An open face-mapping assignment context to which the face nodes and elements were assigned. |
SUBROUTINE TecUtilDataFaceMapEndAssign ( & FaceMapPtr) POINTER (FaceMapPtr, FaceMap)
Python Syntax:
Results = TecUtil.DataFaceMapEndAssign(FaceMap)
Input:
FaceMap opaque pointer
Output:
Results[0] ReturnVal boolean
| void TecUtilDataFaceMapGetBndryConn | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | Face, | |||
| LgIndex_t | BndryConnOffset, | |||
| LgIndex_t * | BndryElem, | |||
| EntIndex_t * | BndryElemZone | |||
| ) |
Fetch a connected element and its zone for a boundary face.
| FaceMap | Face mapping. | |
| Face | The boundary face for which the connected element is desired. | |
| BndryConnOffset | The boundary connection offset for the element. This must be between 1 and the number of boundary elements returned by TecUtilDataFaceMapGetNBndryConns. | |
| BndryElem | The desired connected element. A returned element number of TECUTIL_NO_NEIGHBORING_ELEM indicates no neighboring element. If this is the only boundary connection for the face, then the boundary face has no neighboring elements. If there are more boundary connections for this boundary face, then the boundary face is partially obscured, and the remaining boundary connections for the face will list the elements and zones that partially obscure the face. | |
| BndryElemZone | The desired connected zone. A returned zone number of TECUTIL_NO_NEIGHBORING_ZONE indicates a self reference (in other words, the zone associated with the face mapping). |
SUBROUTINE TecUtilDataFaceMapGetBndryConn ( & FaceMapPtr, & Face, & BndryConnOffset, & BndryElem, & BndryElemZone) POINTER (FaceMapPtr, FaceMap) INTEGER*4 Face INTEGER*4 BndryConnOffset INTEGER*4 BndryElem INTEGER*4 BndryElemZone
Python Syntax:
Results = TecUtil.DataFaceMapGetBndryConn(FaceMap, Face, BndryConnOffset, BndryElem, BndryElemZone)
Input:
FaceMap opaque pointer
Face int
BndryConnOffset int
BndryElem list of ints
BndryElemZone list of ints
Output:
Results[0] ReturnVal NONE
| ArbParam_t TecUtilDataFaceMapGetClientData | ( | FaceMap_pa | FaceMap | ) |
Return the custom load-on-demand client data from a face map handle.
The client data should ONLY be retrieved in response to a custom load, unload, or cleanup callback. At no other time is the request valid.
| FaceMap | Custom load-on-demand face map handle. |
This function is not supported in Python.
Boolean_t MyFaceMapLoader(FaceMap_pa FaceMap) { Boolean_t Result; MyClientData_s *MyClientData = (MyClientData_s *)TecUtilDataFaceMapGetClientData(FaceMap); // load the custom face map using client data . . . return Result; }
| LgIndex_t TecUtilDataFaceMapGetFaceNode | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | Face, | |||
| LgIndex_t | NodeOffset | |||
| ) |
Fetch a node from the face.
| FaceMap | Face mapping. | |
| Face | The face for which the node is desired. | |
| NodeOffset | The node offset within the face. |
INTEGER*4 FUNCTION TecUtilDataFaceMapGetFaceNode ( & FaceMapPtr, & Face, & NodeOffset) POINTER (FaceMapPtr, FaceMap) INTEGER*4 Face INTEGER*4 NodeOffset
Python Syntax:
Results = TecUtil.DataFaceMapGetFaceNode(FaceMap, Face, NodeOffset)
Input:
FaceMap opaque pointer
Face int
NodeOffset int
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilDataFaceMapGetLeftElem | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | Face | |||
| ) |
The left element associated with the specified face.
| FaceMap | Face mapping. | |
| Face | The face for which the left element is desired. |
INTEGER*4 FUNCTION TecUtilDataFaceMapGetLeftElem ( & FaceMapPtr, & Face) POINTER (FaceMapPtr, FaceMap) INTEGER*4 Face
Python Syntax:
Results = TecUtil.DataFaceMapGetLeftElem(FaceMap, Face)
Input:
FaceMap opaque pointer
Face int
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilDataFaceMapGetNBndryConns | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | Face | |||
| ) |
Retrieves the number of boundary connections for the specified face.
| FaceMap | Face mapping. | |
| Face | The face for which the number of connections is desired. |
INTEGER*4 FUNCTION TecUtilDataFaceMapGetNBndryConns ( & FaceMapPtr, & Face) POINTER (FaceMapPtr, FaceMap) INTEGER*4 Face
Python Syntax:
Results = TecUtil.DataFaceMapGetNBndryConns(FaceMap, Face)
Input:
FaceMap opaque pointer
Face int
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilDataFaceMapGetNFaceNodes | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | Face | |||
| ) |
Indicates how many nodes comprise the specified face.
Always returns 2 for polygonal zones.
| FaceMap | Face mapping. | |
| Face | The face for which the number of nodes is desired. |
INTEGER*4 FUNCTION TecUtilDataFaceMapGetNFaceNodes ( & FaceMapPtr, & Face) POINTER (FaceMapPtr, FaceMap) INTEGER*4 Face
Python Syntax:
Results = TecUtil.DataFaceMapGetNFaceNodes(FaceMap, Face)
Input:
FaceMap opaque pointer
Face int
Output:
Results[0] ReturnVal int
| FaceMap_pa TecUtilDataFaceMapGetReadableRef | ( | EntIndex_t | Zone | ) |
Gets a readable face mapping for the specified polyhedral or polygonal zone of the current frame.
| Zone | Polyhedral or polygonal zone number. |
SUBROUTINE TecUtilDataFaceMapGetReadableRef ( & Zone, & FaceMapPtr) INTEGER*4 Zone POINTER (FaceMapPtr, FaceMap)
Python Syntax:
Results = TecUtil.DataFaceMapGetReadableRef(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal opaque pointer
| LgIndex_t TecUtilDataFaceMapGetRightElem | ( | FaceMap_pa | FaceMap, | |
| LgIndex_t | Face | |||
| ) |
The right element associated with the specified face.
| FaceMap | Face mapping. | |
| Face | The face for which the right element is desired. |
INTEGER*4 FUNCTION TecUtilDataFaceMapGetRightElem ( & FaceMapPtr, & Face) POINTER (FaceMapPtr, FaceMap) INTEGER*4 Face
Python Syntax:
Results = TecUtil.DataFaceMapGetRightElem(FaceMap, Face)
Input:
FaceMap opaque pointer
Face int
Output:
Results[0] ReturnVal int
| FaceMap_pa TecUtilDataFaceMapGetWritableRef | ( | EntIndex_t | Zone | ) |
Gets a writable face mapping for the specified polyhedral or polygonal zone of the current frame.
If the current face mapping for the zone is not writable, the current face mapping will be replaced with a writable copy. If the original face mapping was shared with other zones, the writable copy will be shared with the same zones.
| Zone | Polyhedral or polygonal zone number. |
SUBROUTINE TecUtilDataFaceMapGetWritableRef ( & Zone, & FaceMapPtr) INTEGER*4 Zone POINTER (FaceMapPtr, FaceMap)
Python Syntax:
Results = TecUtil.DataFaceMapGetWritableRef(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal opaque pointer
| void TecUtilDataFaceNbrArrayAssign | ( | LgIndex_t | DestOffset, | |
| LgIndex_t | DestCount, | |||
| LgIndex_t * | NeighborElems | |||
| ) |
Copies the specified number of local one-to-one face neighbors from the base of the neighbor element array to the currently open face neighbor context starting at the specified destination offset.
The face neighbor element array should be organized as follows: E1F1 E1F2 ... E1Fm E2F1 E2F2 ... EnFm where n is the number of elements and m is the number of faces per element. In the above layout E1F1 is the neighboring element of element 1 face 1.
| DestOffset | Offset in Tecplot's face neighbor array to begin assigning the supplied neighbor elements. | |
| DestCount | Number of neighbor elements to assign to Tecplot's face neighbor array. | |
| NeighborElems | An array containing the one based face neighbor elements to copy. The first element is assumed to be at the base of the array. |
Results = TecUtil.DataFaceNbrArrayAssign(DestOffset, DestCount, NeighborElems)
Input:
DestOffset int
DestCount int
NeighborElems list of ints
Output:
Results[0] ReturnVal NONE
| Boolean_t TecUtilDataFaceNbrAssign | ( | LgIndex_t | Element, | |
| LgIndex_t | Face, | |||
| Boolean_t | NeighborsCompletelyObscure, | |||
| LgIndex_t | NumNeighbors, | |||
| LgIndex_t * | NeighborElems, | |||
| EntIndex_t * | NeighborZones | |||
| ) |
Sets the user defined face neighbors within an open face neighbor assignment context for the specified element and face.
| Element | The element number (starts at one) | |
| Face | Face for which the face neighbor information is desired | |
| NeighborsCompletelyObscure | Set to TRUE if the supplied neighbors completely obscure the face. | |
| NumNeighbors | Number of neighbors for this face | |
| NeighborElems | Array containing the element numbers of the neighbors | |
| NeighborZones | Array containing the zone numbers of the neighbors |
INTEGER*4 FUNCTION TecUtilDataFaceNbrAssign( & Element, & Face, & NeighborsCompletelyObscure, & NumNeighbors, & NeighborElems, & NeighborZones) INTEGER*4 Element INTEGER*4 Face INTEGER*4 NeighborsCompletelyObscure INTEGER*4 NumNeighbors INTEGER*4 NeighborElems INTEGER*4 NeighborZones
Python Syntax:
Results = TecUtil.DataFaceNbrAssign(Element, Face, NeighborsCompletelyObscure, NumNeighbors, NeighborElems, NeighborZones)
Input:
Element int
Face int
NeighborsCompletelyObscure boolean
NumNeighbors int
NeighborElems list of ints
NeighborZones list of ints
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataFaceNbrBeginAssign | ( | EntIndex_t | Zone | ) |
Clears any previous user defined face neighbor assignments and opens a new face neighbor assignment context.
One and only one face neighbor assignment context must be open prior to calling TecUtilDataFaceNbrAssign(). The context must be closed with a call to TecUtilDataFaceNbrEndAssign() when all face neighbor assignments have been delivered.
| Zone | Zone number to which the face neighors are to be assigned. |
INTEGER*4 FUNCTION TecUtilDataFaceNbrBeginAssign(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.DataFaceNbrBeginAssign(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataFaceNbrBeginAssignX | ( | ArgList_pa | ArgList | ) |
Clears any previous user defined face neighbor assignments and opens a new face neighbor assignment context.
One and only one face neighbor assignment context must be open prior to calling TecUtilDataFaceNbrAssign(). The context must be closed with a call to TecUtilDataFaceNbrEndAssign() when all face neighbor assignments have been delivered.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_ZONE
SV_AUTOASSIGNFN
|
INTEGER*4 FUNCTION TecUtilDataFaceNbrBeginAssignX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.DataFaceNbrBeginAssignX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataFaceNbrEndAssign | ( | void | ) |
Closes the open face neighbor assignment context and packs the assignments into an efficient storage within Tecplot.
INTEGER*4 FUNCTION TecUtilDataFaceNbrEndAssign()
Python Syntax:
Results = TecUtil.DataFaceNbrEndAssign()
Output:
Results[0] ReturnVal boolean
| LgIndex_t TecUtilDataFaceNbrGetByRef | ( | FaceNeighbor_pa | FaceNeighbor, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Face | |||
| ) |
| LgIndex_t TecUtilDataFaceNbrGetByZone | ( | EntIndex_t | Zone, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Face | |||
| ) |
| FaceNeighborMode_e TecUtilDataFaceNbrGetModeByRef | ( | FaceNeighbor_pa | FaceNeighbor | ) |
Returns the FaceNeigborMode_e value for the referenced face neighbor.
| FaceNeighbor | The face neighbor handle to the specified zone in the data set attached to the current frame |
INTEGER*4 FUNCTION TecUtilDataFaceNbrGetModeByRef(FaceNeighborPtr) POINTER (FaceNeighborPtr, FaceNeighbor)
Python Syntax:
Results = TecUtil.DataFaceNbrGetModeByRef(FaceNeighbor)
Input:
FaceNeighbor opaque pointer
Output:
Results[0] ReturnVal FaceNeighborMode_e (defined in TecVals.py)
| void TecUtilDataFaceNbrGetNbrByRef | ( | FaceNeighbor_pa | FaceNeighbor, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Face, | |||
| LgIndex_t | NeighborNumber, | |||
| LgIndex_t * | NeighborElem, | |||
| EntIndex_t * | NeighborZone | |||
| ) |
Get the cell index of the element the is a neighbor of the specified Element and Face.
To use this function you must have already obtained a handle to face neighbors.
| FaceNeighbor | Handle to the face neighbors. Use TecUtilDataFaceNbrGetRef() to get handles to the face neighbors. | |
| Element | The element number (starts at one). | |
| Face | The face number of the element. Different element types have different number of faces. Use TecUtilZoneGetType() to get the element type for a particular zone. Face numbers start at one. ZoneType_FETriangle: has three faces. ZoneType_FEQuad has four faces. ZoneType_FETetra has four faces. ZoneType_FEBrick has six faces. Please see section 4.1.2.g "Face Neighbors" in the Tecplot User's Manual for a description of how nodes and faces map to one another. | |
| NeighborNumber | Specify which neighbor to retrieve. Use TecUtilDataFaceNbrGetNumNByRef() to get the number of neighbors | |
| NeighborElem | Pointer that gives the value of the neighboring element number | |
| NeighborZone | Pointer that gives the value of the neighboring zone number |
SUBROUTINE TecUtilDataFaceNbrGetNbrByRef( & FaceNeighborPtr, & Element, & Face, & NeighborNumber, & NeighborElem, & NeighborZone) POINTER (FaceNeighborPtr, FaceNeighbor) INTEGER*4 Element INTEGER*4 Face INTEGER*4 NeighborNumber INTEGER*4 NeighborElem INTEGER*4 NeighborZone
Python Syntax:
Results = TecUtil.DataFaceNbrGetNbrByRef(FaceNeighbor, Element, Face, NeighborNumber)
Input:
FaceNeighbor opaque pointer
Element int
Face int
NeighborNumber int
Output:
Results[0] NeighborElem int
Results[1] NeighborZone int
Get the cell index of the cell next to face 5 of element 23 in zone 2. It is assumed that zone 2 is of type ZoneType_FEBrick.
FaceNeighbor_pa FNPtr = TecUtilDataFaceNbrGetRef(2); if (FNPtr != NULL) { LgIndex_t NeighborElem; EntIndex_t NeighborZone; TecUtilDataFaceNbrGetNbrByRef(FNPtr, 23, 5, 1, &NeighborElem, &NeighborZone); // Do something with NeighborElem and NeighborZone. }
| LgIndex_t TecUtilDataFaceNbrGetNumNByRef | ( | FaceNeighbor_pa | FaceNeighbor, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Face | |||
| ) |
Gets the number of face neighbors for the elements's face.
| FaceNeighbor | Handle to the face neighbors. Use TecUtilDataFaceNbrGetRef() to get handles to the face neighbors | |
| Element | The element number (starts at one) | |
| Face | The face number of the element. Different element types have different number of faces. Use TecUtilZoneGetType() to get the element type for a particular zone. Face numbers start at one.ZoneType_FETriangle: Three faces.ZoneType_FEQuad: Four faces.ZoneType_FETetra: Four faces.ZoneType_FEBrick: Six faces |
INTEGER*4 FUNCTION TecUtilDataFaceNbrGetNumNByRef( & FaceNeighborPtr, & Element, & Face) POINTER (FaceNeighborPtr, FaceNeighbor) INTEGER*4 Element INTEGER*4 Face
Python Syntax:
Results = TecUtil.DataFaceNbrGetNumNByRef(FaceNeighbor, Element, Face)
Input:
FaceNeighbor opaque pointer
Element int
Face int
Output:
Results[0] ReturnVal int
Get the number of neighbors for face 5 of element 23 of zone 2. It is assumed that zone 2 is of type ZoneType_FEBrick.
LgIndex_t NumNeighbors; FaceNeighbor_pa FNbr; FNbr = TecUtilDataFaceNbrGetRef(2); NumNeighbors = TecUtilDataFaceNbrGetNumNByRef(FNbr, 23, 5);
| void TecUtilDataFaceNbrGetRawPtr | ( | EntIndex_t | Zone, | |
| LgIndex_t ** | FNPtr | |||
| ) |
| FaceNeighbor_pa TecUtilDataFaceNbrGetRef | ( | EntIndex_t | Zone | ) |
Get a face neighbor handle to the specified zone in the data set attached to the current frame.
| Zone | Number of the zone for which to get the face neighbor handle. |
SUBROUTINE TecUtilDataFaceNbrGetRef( & Zone, & ResultPtr) INTEGER*4 Zone POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataFaceNbrGetRef(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal opaque pointer
| void TecUtilDataFECellGetNodes | ( | EntIndex_t | Zone, | |
| int | Face, | |||
| LgIndex_t | CellIndex, | |||
| LgIndex_t * | I1, | |||
| LgIndex_t * | I2, | |||
| LgIndex_t * | I3, | |||
| LgIndex_t * | I4 | |||
| ) |
Get the indices for the nodes of a finite-element cell.
| Zone | Zone in which the cell exists. This must be a finite-element zone. | |
| Face | Face of the finite-element cell. If the zone uses tetrahedrons this is a number between one and four. If the zone uses bricks this is a number between one and six. If the zone uses triangles or quadrilaterals then this is ignored. | |
| CellIndex | The cell index (that is, the element number) to query. | |
| I1 | First Node index. | |
| I2 | Second Node index. | |
| I3 | Third Node index. | |
| I4 | Fourth Node index (not valid if triangle element). |
SUBROUTINE TecUtilDataFECellGetNodes( & Zone, & Face, & CellIndex, & I1, & I2, & I3, & I4) INTEGER*4 Zone INTEGER*4 Face INTEGER*4 CellIndex INTEGER*4 I1 INTEGER*4 I2 INTEGER*4 I3 INTEGER*4 I4
Python Syntax:
Results = TecUtil.DataFECellGetNodes(Zone, Face, CellIndex)
Input:
Zone int
Face int
CellIndex int
Output:
Results[0] I1 int
Results[1] I2 int
Results[2] I3 int
Results[3] I4 int
Get the node indices for face number 2 of cell number 23 in zone 3:
LgIndex_t I1,I2,I3,I4; // Add code here to make sure data exists, and the zone // exists and is the right size and type TecUtilDataFECellGetNodes(3, 2, 23, &I1,&I2,&I3,&I4);
| Boolean_t TecUtilDataFECellGetUniqueNodes | ( | EntIndex_t | Zone, | |
| ElemFaceOffset_t | FaceOffset, | |||
| LgIndex_t | CellIndex, | |||
| LgIndex_t * | NumUniqueNodes, | |||
| LgIndex_t * | UniqueNodesSize, | |||
| LgIndex_t ** | UniqueNodes | |||
| ) |
Gets the logically unique nodes of an entire finite element cell or, for finite element volume data only, a finite element face.
| Zone | Zone in which the cell exits. This must be a finite element zone. | |
| FaceOffset | For the unique nodes of an entire cell this value must be set to zero or, for finite element volume data only, this value must be set to the desired face number. | |
| CellIndex | The cell index to query. | |
| NumUniqueNodes | Pointer to the resulting number of unique nodes. | |
| UniqueNodesSize | As input this value is a pointer to the current dimension of the UniqueNodes array or a pointer to a dimension value of zero if the UniqueNodes array has not yet been allocated. |
| UniqueNodes | As input this value is a pointer to NULL or a pointer to an allocated array dimensioned as specified by UniqueNodesSize items. |
EntIndex_t Zone = 5; // ...assume that this is an FE zone ElemFaceOffset_t FaceOffset = 0; // ...0 because we want the unique nodes for the entire cell LgIndex_t NumUniqueNodes; LgIndex_t UniqueNodesSize = 0; // ...let Tecplot allocate LgIndex_t *UniqueNodes = NULL; // ...let Tecplot allocate IsOk = TecUtilDataFECellGetUniqueNodes(Zone, FaceOffset, 362, &NumUniqueNodes, &UniqueNodesSize, &UniqueNodes); if (IsOk) { ...do something useful with the unique nodes of cell 362 } // Using the previously allocate array request the unique nodes of cell 535. // Note that the array may get reallocated if required to hold the unique // nodes of cell 535. if (IsOk) { IsOk = TecUtilDataFECellGetUniqueNodes(Zone, FaceOffset, 535, &NumUniqueNodes, &UniqueNodesSize, &UniqueNodes); } if (IsOk) { ...do something useful with the unique nodes of cell 535 } // cleanup TecUtilArrayDealloc(&((void *)UniqueNodes));
Get the unique face nodes for a classic FE cell where we supply an automatic variable that is guaranteed to be large enough to hold the unique face nodes.
EntIndex_t Zone = 3; // ...assume that this is a classic FE brick zone ElemFaceOffset_t FaceOffset = 2; // ...face 2 of the brick LgIndex_t NumUniqueNodes; LgIndex_t UniqueNodesSize = 4; // ...classic FE zones have at most 4 nodes per face LgIndex_t ClassicUniqueNodes[4]; // ...classic FE zones have at most 4 nodes per face IsOk = TecUtilDataFECellGetUniqueNodes(Zone, FaceOffset, 276, &NumUniqueNodes, &UniqueNodesSize, &UniqueNodes); if (IsOk) { ...do something useful with the unique face nodes of cell 276, face 2 } // using the same array request the unique face nodes of cell 657, face 6 if (IsOk) { FaceOffset = 6; // ...face 6 of the brick IsOk = TecUtilDataFECellGetUniqueNodes(Zone, FaceOffset, 657, &NumUniqueNodes, &UniqueNodesSize, &UniqueNodes); } if (IsOk) { ...do something useful with the unique face nodes of cell 657, face 6 } // no need to cleanup because the unique nodes array should never have been resized
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilDataFEPolyGetCellNodesSizeAndCenter | ( | FaceMap_pa | FaceMap, | |
| ElemToFaceMap_pa | ElemToFaceMap, | |||
| LgIndex_t | CellIndex, | |||
| FieldData_pa | XFieldData, | |||
| FieldData_pa | YFieldData, | |||
| FieldData_pa | ZFieldData, | |||
| LgIndex_t * | NumUniqueNodes, | |||
| LgIndex_t * | UniqueNodesSize, | |||
| LgIndex_t ** | UniqueNodes, | |||
| double * | CellSize, | |||
| XYZ_s * | CellCenter | |||
| ) |
Gets the logically unique nodes, cell size, and cell center position of an entire finite element polytope cell.
| FaceMap | Face map handle. | |
| ElemToFaceMap | The element-to-face map handle | |
| CellIndex | The cell index to query. | |
| XFieldData | X variable field data handle. | |
| YFieldData | Y variable field data handle or NULL if not to be used for calculating the cell size and center. | |
| ZFieldData | Z variable field data handle or NULL if not to be used for calculating the cell size and center. | |
| NumUniqueNodes | Pointer to the resulting number of unique nodes. | |
| UniqueNodesSize | As input this value is a pointer to the current dimension of the UniqueNodes array or a pointer to a dimension value of zero if the UniqueNodes array has not yet been allocated. |
| UniqueNodes | As input this value is a pointer to NULL or a pointer to an allocated array dimensioned as specified by UniqueNodesSize items. |
| CellSize | Cell size. The size is area for surface data and volume for volume data. | |
| CellCenter | Cell center using the nodal average. |
EntIndex_t Zone = 5; // ...assume that this is an FE polytope zone FaceMap_pa FM = TecUtilDataFaceMapGetReadableRef(Zone); ElemToFaceMap_pa EFM = TecUtilDataElemGetReadableRef(Zone); FieldData_pa XFD = TecUtilDataValueGetReadableNLRef(Zone, 1); FieldData_pa YFD = TecUtilDataValueGetReadableNLRef(Zone, 2); FieldData_pa ZFD = TecUtilDataValueGetReadableNLRef(Zone, 3); double CellSize; XYZ_s CellCenter; LgIndex_t NumUniqueNodes; LgIndex_t UniqueNodesSize = 0; // ...let Tecplot allocate LgIndex_t *UniqueNodes = NULL; // ...let Tecplot allocate IsOk = ((FM != NULL && EFM != NULL) && (XFD != NULL && YFD != NULL && ZFD != NULL) && TecUtilDataFEPolyGetCellNodesSizeAndCenter(FM, EFM, 362, XFD, YFD, ZFD, &NumUniqueNodes, &UniqueNodesSize, &UniqueNodes, &CellSize, &CellCenter); if (IsOk) { ...do something useful with the unique nodes, size, or center of cell 362 } // Using the previously allocate array request the unique nodes of cell 535. // Note that the array may get reallocated if required to hold the unique // nodes of cell 535. if (IsOk) { IsOk = TecUtilDataFEPolyGetCellNodesSizeAndCenter(FM, EFM, 535, XFD, YFD, ZFD, &NumUniqueNodes, &UniqueNodesSize, &UniqueNodes, &CellSize, &CellCenter); } if (IsOk) { ...do something useful with the unique nodes, size, or center of cell 535 } // cleanup TecUtilArrayDealloc(&((void *)UniqueNodes));
Python Syntax:
This function is not supported in Python.
| void TecUtilDataIJKCellGetIndices | ( | EntIndex_t | Zone, | |
| IJKPlanes_e | Plane, | |||
| LgIndex_t | CellIndex, | |||
| LgIndex_t * | I1, | |||
| LgIndex_t * | I2, | |||
| LgIndex_t * | I3, | |||
| LgIndex_t * | I4 | |||
| ) |
Get the indices for the nodes a cell in an ordered zone.
| Zone | Zone in which the cell exists | |
| Plane | Plane in which the cell resides. The possible values are: Planes_I, Planes_J, Planes_K or Planes_Volume. For I- or IJ-ordered data use Planes_K. For IJK-ordered data this determines which of the three faces (I, J, or K) to use to determine which cell to query. | |
| CellIndex | The index of the lowest indexed corner of the cell to query | |
| I1 | First node index for the cell. If the zone is IJ-ordered or IJK-ordered, these indices are calculated from treating the two- or three-dimensional array as a one-dimensional array. | |
| I2 | Second node index for the cell. If the zone is IJ-ordered or IJK-ordered, these indices are calculated from treating the two- or three-dimensional array as a one-dimensional array. | |
| I3 | Third node index for the cell. If the zone is IJ-ordered or IJK-ordered, these indices are calculated from treating the two- or three-dimensional array as a one-dimensional array. | |
| I4 | Fourth node index for the cell. If the zone is IJ-ordered or IJK-ordered, these indices are calculated from treating the two- or three-dimensional array as a one-dimensional array. |
SUBROUTINE TecUtilDataIJKCellGetIndices( & Zone, & Plane, & CellIndex, & I1, & I2, & I3, & I4) INTEGER*4 Zone INTEGER*4 Plane INTEGER*4 CellIndex INTEGER*4 I1 INTEGER*4 I2 INTEGER*4 I3 INTEGER*4 I4
Python Syntax:
Results = TecUtil.DataIJKCellGetIndices(Zone, Plane, CellIndex)
Input:
Zone int
Plane IJKPlanes_e (defined in TecVals.py)
CellIndex int
Output:
Results[0] I1 int
Results[1] I2 int
Results[2] I3 int
Results[3] I4 int
Get the node indices for the face that lies in the J-plane of the cell that resides at (1, 1, 1) in zone 2 which is an IJK-ordered data set:
LgIndex_t I1,I2,I3,I4; // Add code here to make sure data exists and the zone // exists and is the right size and type TecUtilDataIJKCellGetIndices(2, Planes_J, 1, &I1,&I2,&I3,&I4); LgIndex_t I1,I2,I3,I4; LgIndex_t CellIndex; // Add code here to make sure data exists, and the zone // exists and is the right size and type CellIndex = 2+10*((5-1)+20*(13-1)); TecUtilDataIJKCellGetIndices(2, Planes_K, CellIndex, &I1,&I2,&I3,&I4);
Get the nodel indices for the face that lies in the K-plane of the cell that resides at (2, 5, 13) in zone 2, which is an IJK-ordered data set dimensioned 10 by 20 by 30:
LgIndex_t I1,I2,I3,I4; LgIndex_t CellIndex; // Add code here to make sure data exists, and the zone // exists and is the right size and type CellIndex = 2+10*((5-1)+20*(13-1)); TecUtilDataIJKCellGetIndices(2, Planes_K, CellIndex, &I1,&I2,&I3,&I4);
| void TecUtilDataLoadBegin | ( | void | ) |
Notifies Tecplot that a major data load operation is about to begin.
Please see TecUtilDataLoadEnd() for more details.
TecUtilDataLoadBegin() and TecUtilDataLoadEnd() are used together with add-ons that perform a moving window of calculations through data. This is particularly important for add-ons processing transient data.
Results = TecUtil.DataLoadBegin()
Output:
Results[0] ReturnVal NONE
| void TecUtilDataLoadEnd | ( | void | ) |
Notifies Tecplot that a major data load operation has completed.
After each major data load operation Tecplot examines its current memory use and decides if it needs to unload any data.
After this call all data references (i.e. field data, node maps, face neighbors, etc.) previously acquired by the add-on are invalid and should be re-acquired before using them again.
TecUtilDataLoadBegin() and TecUtilDataLoadEnd() are used together with add-ons that perform a moving window of calculations through data. This is particularly important for add-ons processing transient data.
Results = TecUtil.DataLoadEnd()
Output:
Results[0] ReturnVal NONE
| void TecUtilDataNodeArrayGetByRef | ( | NodeMap_pa | SourceNodeMap, | |
| LgIndex_t | SourceOffset, | |||
| LgIndex_t | SourceCount, | |||
| NodeMap_t * | DestNodeArray | |||
| ) |
Fetch an array of nodes by reference.
This function fetches the specified number of nodes from the source node map starting at the specified source item offset and copies them to the base of the destination node array.
| SourceNodeMap | Node map containing the data to fetch. | |
| SourceOffset | Node offset in the source node map to begin fetching nodes. | |
| SourceCount | Number of nodes to fetch from the source node map. | |
| DestNodeArray | Pre-allocated array large enough to hold the requested node. The first node is placed at the base of the array. The node values are one based. |
This function is not supported in Python.
| void TecUtilDataNodeArraySetByRef | ( | NodeMap_pa | DestNodeMap, | |
| LgIndex_t | DestOffset, | |||
| LgIndex_t | DestCount, | |||
| NodeMap_t * | SourceNodeArray | |||
| ) |
Copies the specified number of nodes from the base of the source node array to the destination node map starting at the specified offset.
| DestNodeMap | Node map to receive the source nodes. | |
| DestOffset | Node offset in the destination node map to begin assigning nodes. | |
| DestCount | Number of nodes to assign to the destination node map. | |
| SourceNodeArray | An array containing the one based nodes to copy. The first node is assumed to be at the base of the array. |
Results = TecUtil.DataNodeArraySetByRef(DestNodeMap, DestOffset, DestCount, SourceNodeArray)
Input:
DestNodeMap opaque pointer
DestOffset int
DestCount int
SourceNodeArray list of ints
Output:
Results[0] ReturnVal NONE
| NodeMap_t TecUtilDataNodeGetByRef | ( | NodeMap_pa | NodeMapPtr, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Corner | |||
| ) |
Get the node index for a particular corner of a finite-element.
To use this function you must have already obtained a handle to a node map.
| NodeMapPtr | Handle to the connectivity list (that is, the node map). Use TecUtilDataNodeGetByRef() or TecUtilZoneGetInfo() to get handles to the zone map | |
| Element | The element number (starts at 1) | |
| Corner | The element corner (starts at 1) |
INTEGER*4 FUNCTION TecUtilDataNodeGetByRef( & NodeMapPtrPtr, & Element, & Corner) POINTER (NodeMapPtrPtr, NodeMapPtr) INTEGER*4 Element INTEGER*4 Corner
Python Syntax:
Results = TecUtil.DataNodeGetByRef(NodeMapPtr, Element, Corner)
Input:
NodeMapPtr opaque pointer
Element int
Corner int
Output:
Results[0] ReturnVal int
Get the first two nodes of the 43rd element of zone 5:
NodeMap_pa nm; nm = TecUtilDataNodeGetRef(5); if ( nm ) { NodeMap_t n1, n2; n1 = TecUtilDataNodeGetByRef(nm, 43, 1); n2 = TecUtilDataNodeGetByRef(nm, 43, 2); // use n1 and n2 }
| NodeMap_t TecUtilDataNodeGetByZone | ( | EntIndex_t | Zone, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Corner | |||
| ) |
Get the node index for a particular corner of a finite-element.
This function does not require you to obtain the handle to the node map as does TecUtilDataNodeGetByRef(), however, this function is not very efficient. Use TecUtilDataNodeGetByRef() if you are getting multiple nodes from the same zone.
| Zone | Zone number. This must be a finite-element zone. | |
| Element | The element number (starts at 1) | |
| Corner | The element corner (starts at 1) |
INTEGER*4 FUNCTION TecUtilDataNodeGetByZone( & Zone, & Element, & Corner) INTEGER*4 Zone INTEGER*4 Element INTEGER*4 Corner
Python Syntax:
Results = TecUtil.DataNodeGetByZone(Zone, Element, Corner)
Input:
Zone int
Element int
Corner int
Output:
Results[0] ReturnVal int
Get the third node of the 43rd element of zone 5:
NodeMap_t n3; n3 = TecUtilDataNodeGetByZone(5, 43, 3);
| void TecUtilDataNodeGetRawPtr | ( | EntIndex_t | Zone, | |
| NodeMap_t ** | NodeMapPtr | |||
| ) |
Get a handle to the raw node map data in the data set attached to the current frame.
Use this function with extreme caution and only as a last resort. TecUtilDataNodeGetByRef() and TecUtilDataNodeSetByRef() should be used instead in most cases.
| Zone | Number of the zone for which to get the raw node map data. This must be a finite-element zone. | |
| NodeMapPtr | Receives address of the raw node map data |
SUBROUTINE TecUtilDataNodeGetRawPtr( & Zone, & NodeMapPtr) INTEGER*4 Zone POINTER (NodeMapPtrPtr, NodeMapPtr)
Python Syntax:
This function is not supported in Python.
Get and then set the first and second node of the 43rd element of zone 5 using a raw data pointer. The 43rd element is accessed by 42*nodes_per_element and the first and second nodes are accessed by +0 and +1 respectively since the raw data is accessed with a zero-base numbering system. Be sure to call TecUtilStateChanged() when you change the node map in this way:
// assume we already know zone 5 is a finite element zone with // triangle elements (by using TecUtilZoneGetInfo() or // TecUtilZoneGetType()) LgIndex_t zone = 5; NodeMap_t *raw_nm_ptr = NULL; LgIndex_t nodes_per_element = 3; // triangular TecUtilDataNodeGetRawPtr(zone, &raw_nm_ptr); if ( raw_nm_ptr ) { Set_pa altered_zones = TecUtilSetAlloc(TRUE); LgIndex n1, n2; n1 = raw_nm_ptr[42*nodes_per_element + 0]; // zero-based numbering n2 = raw_nm_ptr[42*nodes_per_element + 1]; // alter n1 and n2 in some way n1++; n2++; raw_nm_ptr[42*nodes_per_element + 0] = n1; raw_nm_ptr[42*nodes_per_element + 1] = n2; // inform Tecplot of node map change TecUtilSetAddMember(altered_zones, 5, TRUE); TecUtilStateChanged(StateChange_NodeMapsAltered, (ArbParam_t)altered_zones); TecUtilSetDealloc(&altered_zones); }
| NodeMap_pa TecUtilDataNodeGetRef | ( | EntIndex_t | Zone | ) |
Get a finite-element node map handle to the specified zone in the data set attached to the current frame.
| Zone | Number of the zone for which to get the node map handle. This must be a finite-element zone |
SUBROUTINE TecUtilDataNodeGetRef( & Zone, & ResultPtr) INTEGER*4 Zone POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataNodeGetRef(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal opaque pointer
| void TecUtilDataNodeSetByRef | ( | NodeMap_pa | NM, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Corner, | |||
| NodeMap_t | Node | |||
| ) |
Set the node index for a particular corner of a finite-element.
To use this function you must have already obtained the handle to the node map.
| NM | Handle to the connectivity list (that is, the node map). Use TecUtilDataNodeGetRef() or TecUtilZoneGetInfo() to get a handle to the node map. | |
| Element | The element number (starts at 1) | |
| Corner | The element corner (starts at 1). | |
| Node | The new node index for that element at that corner |
SUBROUTINE TecUtilDataNodeSetByRef( & NMPtr, & Element, & Corner, & Node) POINTER (NMPtr, NM) INTEGER*4 Element INTEGER*4 Corner INTEGER*4 Node
Python Syntax:
Results = TecUtil.DataNodeSetByRef(NM, Element, Corner, Node)
Input:
NM opaque pointer
Element int
Corner int
Node int
Output:
Results[0] ReturnVal NONE
Set the first two nodes of the 43rd element of zone 5 to be 127 and 128 respectively:
Set_pa altered_zones; NodeMap_pa nm; nm = TecUtilDataNodeGetRef(5); if ( nm ) { TecUtilDataNodeSetByRef(nm, 43, 1, 127); TecUtilDataNodeSetByRef(nm, 43, 2, 128); // inform Tecplot of node map change altered_zones = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(altered_zones, 5, TRUE); TecUtilStateChanged(StateChange_NodeMapsAltered, (ArbParam_t)altered_zones); TecUtilSetDealloc(&altered_zones); }
| void TecUtilDataNodeSetByZone | ( | EntIndex_t | Zone, | |
| LgIndex_t | Element, | |||
| LgIndex_t | Corner, | |||
| NodeMap_t | Node | |||
| ) |
Set the node index for a particular corner of a finite-element.
This function does not require you to obtain the handle to the node map as does TecUtilDataNodeArraySetByRef() or TecUtilDataNodeSetByRef(), however, this function is not very efficient. Use TecUtilDataNodeArraySetByRef() or TecUtilDataNodeSetByRef() if you are setting multiple nodes for the same zone. You do not need to call TecUtilStateChanged() after calling this function as Tecplot does that for you.
| Zone | Zone number. | |
| Element | The element number (starts at 1). | |
| Corner | The element corner (starts at 1). | |
| Node | The new node index for that element at that corner. |
SUBROUTINE TecUtilDataNodeSetByZone( & Zone, & Element, & Corner, & Node) INTEGER*4 Zone INTEGER*4 Element INTEGER*4 Corner INTEGER*4 Node
Python Syntax:
Results = TecUtil.DataNodeSetByZone(Zone, Element, Corner, Node)
Input:
Zone int
Element int
Corner int
Node int
Output:
Results[0] ReturnVal NONE
Set the third node of the 43rd element of zone 5 to be 129:
TecUtilDataNodeSetByZone(5, 43, 3, 129);
| Boolean_t TecUtilDataRotate2D | ( | Set_pa | ZoneSet, | |
| double | RotateAmountInDegrees, | |||
| double | XOrigin, | |||
| double | YOrigin | |||
| ) |
Rotate field data in 2-D about any point.
| ZoneSet | Zones to rotate | |
| RotateAmountInDegrees | Angle of rotation in degrees | |
| XOrigin | X-origin about which to rotate | |
| YOrigin | Y-origin about which to rotate |
INTEGER*4 FUNCTION TecUtilDataRotate2D( & ZoneSetPtr, & RotateAmountInDegrees, & XOrigin, & YOrigin) POINTER (ZoneSetPtr, ZoneSet) REAL*8 RotateAmountInDegrees REAL*8 XOrigin REAL*8 YOrigin
Python Syntax:
Results = TecUtil.DataRotate2D(ZoneSet, RotateAmountInDegrees, XOrigin, YOrigin)
Input:
ZoneSet sequence of ints
RotateAmountInDegrees double
XOrigin double
YOrigin double
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataSetAddJournalCommand | ( | const char * | CommandProcessorIDString, | |
| const char * | Instructions, | |||
| const char * | RawData | |||
| ) |
Adds a command to the data journal.
| CommandProcessorIDString | The ID string of the command processor. You must have registered a macro command callback with Tecplot to use this functionality. See TecUtilMacroAddCommandCallback for more information on registering a macro command callback | |
| Instructions | Command Instrunctions | |
| RawData | Raw Data. Please see TecUtilMacroRecordExtComRaw() for a description of the raw data format. |
INTEGER*4 FUNCTION TecUtilDataSetAddJournalCommand( & AddOnIDString, & Instructions, & RawData) CHARACTER*(*) AddOnIDString CHARACTER*(*) Instructions CHARACTER*(*) RawData
Python Syntax:
Results = TecUtil.DataSetAddJournalCommand(CommandProcessorIDString, Instructions, RawData)
Input:
CommandProcessorIDString string
Instructions string
RawData string
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataSetAddPostConvInstr | ( | const char * | AddOnIDString, | |
| const char * | Instructions, | |||
| const char * | RawData | |||
| ) |
| Boolean_t TecUtilDataSetAddRawJournalCom | ( | const char * | Command | ) |
Adds a raw macro command to the data journal.
| Command | The raw macro command to add to the journal. |
INTEGER*4 FUNCTION TecUtilDataSetAddRawJournalCom(Command) CHARACTER*(*) Command
Python Syntax:
Results = TecUtil.DataSetAddRawJournalCom(Command)
Input:
Command string
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataSetAddVar | ( | const char * | VarName, | |
| FieldDataType_e * | FieldDataType_Array | |||
| ) |
Add a variable to the current data set.
Call TecUtilStateChanged() after adding a variable. This function is superceded by TecUtilDataSetAddVarX().
| VarName | Name of the variable being added. | |
| FieldDataType_Array | This is an array of the data types to use for each zone (i.e., it must be dimensioned by the number of zones). If you pass NULL, the data types of the variables in variable 1 of the existing data set are used. The possible choices are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Byte, or FieldDataType_Bit. |
INTEGER*4 FUNCTION TecUtilDataSetAddVar( & VarName, & VarFieldDataType) CHARACTER*(*) AddOnIDString INTEGER*4 VarFieldDataType(1)
Python Syntax:
Results = TecUtil.DataSetAddVar(VarName, FieldDataType_Array)
Input:
VarName string
FieldDataType_Array list of TecVals.FieldDataType_e constants
Output:
Results[0] ReturnVal boolean
if ( TecUtilDataSetAddVar("New Variable", NULL) ) { // New variable is always last variable. EntIndex_t newvar; TecUtilDataSetGetInfo(NULL, NULL, &newvar); // Fill new var with values for all zones. . . . // Inform Tecplot a variable has been added. TecUtilStateChanged(StateChange_VarsAdded, (ArbParam_t)NULL); }
| Boolean_t TecUtilDataSetAddVarX | ( | ArgList_pa | ArgList | ) |
Add a variable to the current data set.
Make sure and call TecUtilStateChanged() after adding variables. Note that all settings for variable properties apply ONLY to those specific variables created in the existing set of zones.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_NAME
SV_VARDATATYPE
SV_VALUELOCATION
SV_TRYSHAREVARWITHALLZONES
SV_DEFERVARCREATION
|
INTEGER*4 FUNCTION TecUtilDataSetAddVarX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.DataSetAddVarX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
Add a variable called "newvar" to the dataset.
ArgList_pa ArgList; FieldDataType_e *VarDataType; // dimension by zone ValueLocation_e *ValueLocation; // dimension by zone TecUtilLockStart(AddOnID); ... // // Allocate and populate VarDataType and ValueLocation // with the appropriate value for each zone. ... // collect the function arguments ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendString(ArgList, SV_NAME, "newvar"); TecUtilArgListAppendArray(ArgList, SV_VARDATATYPE, (void *)VarDataType); TecUtilArgListAppendArray(ArgList, SV_VALUELOCATION, (void *)ValueLocation); TecUtilArgListAppendInt(ArgList, SV_SHAREVARWITHALLZONES, FALSE); // add the variable for all zones in the dataset TecUtilDataSetAddVarX(ArgList); // cleanup TecUtilArgListDealloc(&ArgList); // Inform Tecplot that a variable was added VarsAdded = TecUtilSetAlloc(FALSE); if (VarsAdded) { EntIndex_t NumVars; TecUtilDataSetGetInfo((char **)NULL, (EntIndex_t *)NULL, &NumVars); TecUtilSetAddMember(VarsAdded,NumVars,FALSE); TecUtilStateChanged(StateChange_VarsAdded, (ArbParam_t)VarsAdded); TecUtilSetDealloc(&VarsAdded); } ... // cleanup VarDataType and ValueLocation allocations TecUtilLockFinish(AddOnID);
| Boolean_t TecUtilDataSetAddZone | ( | const char * | Name, | |
| LgIndex_t | IMax, | |||
| LgIndex_t | JMax, | |||
| LgIndex_t | KMax, | |||
| ZoneType_e | ZoneType, | |||
| FieldDataType_e * | VarDataType_Array | |||
| ) |
Add a zone to the data set attached to the current frame.
This function call does not load any data into the zone. In the case of finite-element zones, this function also does not assign values to the connectivity list. This function only allocates space for the zone. Call TecUtilStateChanged() after adding a zone.
| Name | Name of the zone. | |
| IMax | I-Dimension of the zone if ordered. If the zone is finite-element then IMax is the number of data points. | |
| JMax | J-Dimension of the zone if ordered. If the zone is finite-element then IMax is the number of data points, JMax is the number of elements, and KMax is the number of faces. KMax is only used for FEPolygon and FEPolyhedron fe zone types. | |
| KMax | K-Dimension of the zone. If the zone is a finite-element polyhedral or polygon, KMax is the number of faces. KMax is not used for other finite-element zone types. | |
| ZoneType | The possible values are: ZoneType_Ordered, ZoneType_FETriangle, ZoneType_FEQuad, ZoneType_FETetra, ZoneType_FEBrick, ZoneType_FELineSeg, ZoneType_FEPolygon or ZoneType_FEPolyhedron For polytope zones you must subsequently give the face mapping a data backing by calling TecUtilDataFaceMapAlloc() or TecUtilDataConnectShare() or give it deferred load-on-demand status by calling TecUtilDataFaceMapCustomLOD(). | |
| VarDataType_Array | This is an array of the data types to use for each variable. If you set this to NULL then the data types of the variables in zone 1 of the existing data set are used or FieldDataType_Float if this is the first zone. The possible values are: FieldDataType_Float, FieldDataType_Double, FieldDataType_Int32, FieldDataType_Int16, FieldDataType_Byte, or FieldDataType_Bit. |
Fortran Syntax:
INTEGER*4 FUNCTION TecUtilDataSetAddZone( & ZoneName, & IMax, & JMax, & KMax, & ZoneType, & VarFieldDataType) CHARACTER*(*) AddOnIDString INTEGER*4 IMax INTEGER*4 JMax INTEGER*4 KMax INTEGER*4 ZoneType INTEGER*4 VarFieldDataType(1)
Python Syntax:
Results = TecUtil.DataSetAddZone(Name, IMax, JMax, KMax, ZoneType, VarDataType_Array)
Input:
Name string
IMax int
JMax int
KMax int
ZoneType ZoneType_e (defined in TecVals.py)
VarDataType_Array list of TecVals.FieldDataType_e constants
Output:
Results[0] ReturnVal boolean
if ( TecUtilDataSetAddZone("New Ordered Zone", 10, 10, 1, ZoneType_Ordered, NULL) ) { Set_pa zones_added = TecUtilSetAlloc(TRUE); // new zone is always last zone EntIndex_t newzone; TecUtilDataSetGetInfo(NULL, &newzone, NULL); // fill new zone with values for all variables . . . // inform Tecplot of new zone TecUtilSetAddMember(zones_added, newzone, TRUE); TecUtilStateChanged(StateChange_ZonesAdded, (ArbParam_t)zones_added); TecUtilSetDealloc(&zones_added); }
| Boolean_t TecUtilDataSetAddZoneX | ( | ArgList_pa | ArgList | ) |
Add a zone to the current data set.
This function was extended from TecUtilDataSetAddZone() to allow addition of zones in locations where zombie zones currently exist in a data set. For a simpler, less flexible interface use TecUtilDataSetAddZone() instead. Be sure to call TecUtilStateChanged() after adding zones. Note that all settings for variable properties apply ONLY to those specific variables in this newly created zone and do not apply to any other variables in other zones created in the future.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_NAME
SV_PARENTZONE
SV_STRANDID
SV_SOLUTIONTIME
SV_ZONETYPE
SV_ZONE
SV_BUILDZONEOPTINFO
SV_IMAX
SV_JMAX
SV_KMAX
SV_VARDATATYPE
SV_VALUELOCATION
SV_VARSHAREZONELIST
SV_DEFERVARCREATION
SV_CONNECTSHAREZONE
SV_AUTOASSIGNFN
SV_FACENEIGHBORMODE
|
INTEGER*4 FUNCTION TecUtilDataSetAddZoneX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.DataSetAddZoneX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
Add a 10 by 20 ordered zone as zone number 3.
ArgList_pa ArgList; TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendString(ArgList, SV_NAME, "New Zone"); TecUtilArgListAppendInt(ArgList, SV_ZONE, 3); TecUtilArgListAppendInt(ArgList, SV_ZONETYPE, (ArbParam_t)ZoneType_Ordered); TecUtilArgListAppendInt(ArgList, SV_IMAX, 10); TecUtilArgListAppendInt(ArgList, SV_JMAX, 20); TecUtilDataSetAddZoneX(ArgList); TecUtilArgListDealloc(&ArgList); TecUtilLockFinish(AddOnID);
Add a volume zone and two associated child patch zones. The child zones are loosely associated with the parent volume zone. With this association, Tecplot can generate surface-restricted streamtraces.
ArgList_pa ArgList; TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendString(ArgList, SV_NAME, "Parent Volume Zone"); TecUtilArgListAppendInt(ArgList, SV_ZONE, 1); TecUtilArgListAppendInt(ArgList, SV_ZONETYPE, (ArbParam_t)ZoneType_Ordered); TecUtilArgListAppendInt(ArgList, SV_IMAX, 10); TecUtilArgListAppendInt(ArgList, SV_JMAX, 20); TecUtilArgListAppendInt(ArgList, SV_KMAX, 30); TecUtilDataSetAddZoneX(ArgList); TecUtilArgListAppendString(ArgList, SV_NAME, "Child Patch Zone 1"); TecUtilArgListAppendInt(ArgList, SV_ZONE, 2); TecUtilArgListAppendInt(ArgList, SV_PARENTZONE, 1); // absolution reference to the parent zone TecUtilArgListAppendInt(ArgList, SV_ZONETYPE, (ArbParam_t)ZoneType_Ordered); TecUtilArgListAppendInt(ArgList, SV_IMAX, 10); TecUtilArgListAppendInt(ArgList, SV_JMAX, 20); TecUtilDataSetAddZoneX(ArgList); TecUtilArgListAppendString(ArgList, SV_NAME, "Child Patch Zone 2"); TecUtilArgListAppendInt(ArgList, SV_ZONE, 3); TecUtilArgListAppendInt(ArgList, SV_PARENTZONE, 1); // absolution reference to the parent zone TecUtilArgListAppendInt(ArgList, SV_ZONETYPE, (ArbParam_t)ZoneType_Ordered); TecUtilArgListAppendInt(ArgList, SV_IMAX, 20); TecUtilArgListAppendInt(ArgList, SV_JMAX, 30); TecUtilDataSetAddZoneX(ArgList); TecUtilArgListDealloc(&ArgList); TecUtilLockFinish(AddOnID);
| Boolean_t TecUtilDataSetCreate | ( | const char * | DataSetTitle, | |
| StringList_pa | VarNames, | |||
| Boolean_t | ResetStyle | |||
| ) |
Create a new data set and attach it to the current frame.
This only allocates space for a data set specification. You must immediately begin to add zones to the data set by calling TecUtilDataSetAddZone() after creating a data set.
| DataSetTitle | Title for the data set. | |
| VarNames | String list of variable names. See TecUtilStringListXXX functions for string list details | |
| ResetStyle | Clears out all style information for the current frame before creating the data set. It is highly recommended that you always pass TRUE for this parameter. |
INTEGER*4 FUNCTION TecUtilDataSetCreate( & DataSetTitle, & VarNamesPtr, & ResetStyle) CHARACTER*(*) DataSetTitle POINTER (VarNamesPtr, VarNames) INTEGER*4 ResetStyle
Python Syntax:
Results = TecUtil.DataSetCreate(DataSetTitle, VarNames, ResetStyle)
Input:
DataSetTitle string
VarNames sequence of strings
ResetStyle boolean
Output:
Results[0] ReturnVal boolean
Create a data set with two variables:
StringList_pa sl = TecUtilStringListAlloc(); TecUtilStringListAppendString(sl,"V1"); // first variable TecUtilStringListAppendString(sl,"V2"); // second variable if ( TecUtilDataSetCreate("My Data Set",sl, TRUE)); { // Immediately call TecUtilDataSetAddZone() here } TecUtilStringListDealloc(&sl);
Deletes the specified set of variables.
| VarList | Set of variables to delete. |
INTEGER*4 FUNCTION TecUtilDataSetDeleteVar(VarListPtr) POINTER (VarListPtr, VarList)
Python Syntax:
Results = TecUtil.DataSetDeleteVar(VarList)
Input:
VarList sequence of ints
Output:
Results[0] ReturnVal boolean
Delete variables 1,3, and 9
Set_pa VarList; Set_pa VarList = TecUtilSetAlloc(FALSE); if (VarList) { TecUtilSetAddMember(VarList,1,FALSE); TecUtilSetAddMember(VarList,3,FALSE); TecUtilSetAddMember(VarList,9,FALSE); if (TecUtilDataSetDeleteVar(VarList)) { ... variables deleted successfully. Take approp. action. } TecUtilSetDealloc(&VarList); }
Deletes the specified set of zones.
| ZoneList | Set of zones to delete. |
INTEGER*4 FUNCTION TecUtilDataSetDeleteZone(ZoneListPtr) POINTER (ZoneListPtr, ZoneList)
Python Syntax:
Results = TecUtil.DataSetDeleteZone(ZoneList)
Input:
ZoneList sequence of ints
Output:
Results[0] ReturnVal boolean
Delete zones 1,3, and 9
Set_pa ZoneList; Set_pa ZoneList = TecUtilSetAlloc(FALSE); if (ZoneList) { TecUtilSetAddMember(ZoneList,1,FALSE); TecUtilSetAddMember(ZoneList,3,FALSE); TecUtilSetAddMember(ZoneList,9,FALSE); if (TecUtilDataSetDeleteZone(ZoneList)) { ... zones deleted successfully. Take approp. action. } TecUtilSetDealloc(&ZoneList); }
| Boolean_t TecUtilDataSetGetInfo | ( | char ** | DataSetTitle, | |
| EntIndex_t * | NumZones, | |||
| EntIndex_t * | NumVars | |||
| ) |
Get the title, number of zones, and number of variables of the data set attached to the current frame.
| DataSetTitle | Character string containing the title of the data set attached to the current frame. If you pass NULL, this will not be assigned. Deallocate the returned string with TecUtilStringDealloc() when you are done with it. | |
| NumZones | The number of zones in the data set attached to the current frame. If you pass NULL, this will not be assigned | |
| NumVars | The number of variables in the data set attached to the current frame. If you pass NULL, this will not be assigned. |
INTEGER*4 FUNCTION TecUtilDataSetGetInfo( & DataSetTitle, & DataSetTitleLength, & NumZones, & NumVars) CHARACTER*(*) DataSetTitle INTEGER*4 DataSetTitleLength INTEGER*4 NumZones INTEGER*4 NumVars
Python Syntax:
Results = TecUtil.DataSetGetInfo()
Output:
Results[0] ReturnVal boolean
Results[1] DataSetTitle string
Results[2] NumZones int
Results[3] NumVars int
Get the data set title and number of zones and variables from the current data set:
char *dataset_title = NULL; EntIndex_t nzones, nvars; TecUtilDataSetGetInfo(&dataset_title, &nzones, &nvars); // use dataset_title TecUtilStringDealloc(&dataset_title);
| Strand_t TecUtilDataSetGetMaxStrandID | ( | void | ) |
Get the largest Strand number currently in use.
Use this value to ensure that your strand assignments are correct when adding zones
INTEGER*4 FUNCTION TecUtilDataSetGetMaxStrandID()
Python Syntax:
Results = TecUtil.DataSetGetMaxStrandID()
Output:
Results[0] ReturnVal int
Arglist_pa ArgList; Strand_t MaxStrand; TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendString(ArgList, SV_NAME, "New Zone"); TecUtilArgListAppendInt(ArgList, SV_ZONETYPE, (ArbParam_t)ZoneType_Ordered); TecUtilArgListAppendInt(ArgList, SV_IMAX, 10); TecUtilArgListAppendInt(ArgList, SV_JMAX, 20); MaxStrand = TecUtilDataSetGetMaxStrandID(); TecUtilArgListAppendInt(ArgList, SV_STRANDID, MaxStrand+1); TecUtilDataSetAddZoneX(ArgList); TecUtilArgListDealloc(&ArgList); TecUtilLockFinish(AddOnID);
| EntIndex_t TecUtilDataSetGetNumVars | ( | void | ) |
Get the number of variables in the data set attached to the current frame.
INTEGER*4 FUNCTION TecUtilDataSetGetNumVars()
Python Syntax:
Results = TecUtil.DataSetGetNumVars()
Output:
Results[0] ReturnVal int
| EntIndex_t TecUtilDataSetGetNumZones | ( | void | ) |
Get the number of zones in the data set attached to the current frame.
INTEGER*4 FUNCTION TecUtilDataSetGetNumZones()
Python Syntax:
Results = TecUtil.DataSetGetNumZones()
Output:
Results[0] ReturnVal int
| UniqueID_t TecUtilDataSetGetUniqueID | ( | void | ) |
Gets a unique ID for a data set.
A unique ID is an integer that is unique to a data set. This ID can be used to determine if the data sets from several frames are the same.
INTEGER*4 FUNCTION TecUtilDataSetGetUniqueID()
Python Syntax:
Results = TecUtil.DataSetGetUniqueID()
Output:
Results[0] ReturnVal long
Determine if the datasets of the top 2 frames are the same:
{
UniqueID_t ID;
TecUtilLockStart(AddOnID);
ID = TecUtilDataSetGetUniqueID();
TecUtilFramePushTop();
if ( ID == TecUtilDataSetGetUniqueID() )
{
// Datasets are the same for both frames
}
else
{
// Datasets are different
}
TecUtilLockFinish(AddOnID);
}
| VarLoadMode_e TecUtilDataSetGetVarLoadMode | ( | void | ) |
Get the variable load mode for the current data set.
INTEGER*4 FUNCTION TecUtilDataSetGetVarLoadMode()
Python Syntax:
Results = TecUtil.DataSetGetVarLoadMode()
Output:
Results[0] ReturnVal VarLoadMode_e (defined in TecVals.py)
Get the variable load mode for the current data set:
VarLoadMode_e VarLoadMode; if ( TecUtilDataSetIsAvailable() ) { VarLoadMode = TecUtilDataSetGetVarLoadMode(); ... }
| Boolean_t TecUtilDataSetIsAvailable | ( | void | ) |
Determine if the current frame has a data set attached.
INTEGER*4 FUNCTION TecUtilDataSetIsAvailable()
Python Syntax:
Results = TecUtil.DataSetIsAvailable()
Output:
Results[0] ReturnVal boolean
Get the number of zones for the data set for the current frame, or use zero if there is no data set:
EntIndex_t nzones = 0; if ( TecUtilDataSetIsAvailable() ) TecUtilDataSetGetInfo(NULL, &nzones, NULL);
| Boolean_t TecUtilDataSetIsLocked | ( | char ** | LockString | ) |
Query to see of the data set attached to the current frame is locked.
| LockString | Allocated return string telling you the identifier originally used to lock the data set. You must deallocate this string when you are through with it. You can pass NULL for this parameter if you do not need to know who locked the data set |
INTEGER*4 FUNCTION TecUtilDataSetIsLocked( & LockString, & LockStringLength) CHARACTER*(*) LockString INTEGER*4 LockStringLength
Python Syntax:
Results = TecUtil.DataSetIsLocked()
Output:
Results[0] ReturnVal boolean
Results[1] LockString string
| Boolean_t TecUtilDataSetIsSharingAllowed | ( | void | ) |
Query to see if variable and connectivity sharing is permitted for this dataset.
You must still call TecUtilDataValueIsSharingOk() for variables and TecUtilDataConnectIsSharingOk() for connectivity to determine if a particular variable or if the connectivity may be shared.
INTEGER*4 FUNCTION TecUtilDataSetIsSharingAllowed()
Python Syntax:
Results = TecUtil.DataSetIsSharingAllowed()
Output:
Results[0] ReturnVal boolean
Boolean_t IsSharing; IsSharing = TecUtilDataSetIsSharingAllowed();.
| Boolean_t TecUtilDataSetJournalIsValid | ( | void | ) |
Query Tecplot to see if the journal for the data set attached to the current frame is valid.
This is a concern if a layout file is to be generated from an addon. When layouts are generated from an addon the layout must be able to reproduce all data sets via named files and journal entries. A data set will require saving if any un-journaled data operations are performed on it.
INTEGER*4 FUNCTION TecUtilDataSetJournalIsValid()
Python Syntax:
Results = TecUtil.DataSetJournalIsValid()
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataSetLockOff | ( | const char * | LockString | ) |
Unlock the data set attached to the current frame.
| LockString | Unique string identifier originally used to lock the data set. |
INTEGER*4 FUNCTION TecUtilDataSetLockOff(LockString) CHARACTER*(*) LockString
Python Syntax:
Results = TecUtil.DataSetLockOff(LockString)
Input:
LockString string
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataSetLockOn | ( | const char * | LockString | ) |
Lock the data set attached to the current frame.
| LockString | Unique string identifier originally used to lock the data set. |
INTEGER*4 FUNCTION TecUtilDataSetLockOn(LockString) CHARACTER*(*) LockString
Python Syntax:
Results = TecUtil.DataSetLockOn(LockString)
Input:
LockString string
Output:
Results[0] ReturnVal boolean
Lock the data set using the identifier "banana."
Boolean_t IsBananaLocked = FALSE; if (!TecUtilLockIsOn((char **)NULL)) { IsLocked = TecUtilDataSetLockOn("banana"); } ... if (IsBananaLocked) TecUtilDataSetLockOff("banana");
| Boolean_t TecUtilDataSetReadX | ( | ArgList_pa | ArgList | ) |
Read one or more data files into Tecplot to form a new data set in the current frame.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_READDATAOPTION
SV_RESETSTYLE
SV_FILENAMESORINSTRUCTIONS
SV_DATASETREADER
SV_INITIALPLOTFIRSTZONEONLY
SV_INITIALPLOTTYPE
SV_INCLUDETEXT
SV_INCLUDEGEOM
SV_INCLUDECUSTOMLABL
SV_INCLUDEDATA
SV_COLLAPSEZONESANDVARS
SV_ASSIGNSTRANDIDS
SV_ADDZONESTOEXISTINGSTRANDS
SV_ZONELIST
SV_VARLOADMODE
SV_VARPOSITIONLIST
SV_VARNAMELIST
SV_ISKIP
SV_JSKIP
SV_KSKIP
|
INTEGER*4 FUNCTION TecUtilDataSetReadX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.DataSetReadX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
Read in a the file newdata.plt. Note that some arglist entries are shown here using their default values as an example only as they normally would not have to be provided.
StringList_pa Instructions = TecUtilStringListAlloc(); ArgList_pa ArgList; TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilStringListAppendString(Instructions, "newdata.plt"); TecUtilArgListAppendInt(ArgList, SV_READDATAOPTION, ReadDataOption_NewData); TecUtilArgListAppendInt(ArgList, SV_RESETSTYLE, TRUE); TecUtilArgListAppendStringList(ArgList,SV_FILENAMESORINSTRUCTIONS, Instructions); TecUtilArgListAppendInt(ArgList, SV_INITIALPLOTFIRSTZONEONLY,FALSE); TecUtilArgListAppendInt(ArgList, SV_INITIALPLOTTYPE,PlotType_Automatic); TecUtilArgListAppendInt(ArgList, SV_INCLUDETEXT, TRUE); TecUtilArgListAppendInt(ArgList, SV_INCLUDEGEOM, TRUE); TecUtilArgListAppendInt(ArgList, SV_INCLUDECUSTOMLABELS, TRUE); TecUtilArgListAppendInt(ArgList, SV_INCLUDEDATA, TRUE); TecUtilArgListAppendInt(ArgList, SV_COLLAPSEZONESANDVARS, FALSE); TecUtilArgListAppendInt(ArgList, SV_VARLOADMODE, VarLoadMode_ByPosition); TecUtilArgListAppendArray(ArgList, SV_VARPOSITIONLIST, NULL); TecUtilArgListAppendInt(ArgList, SV_ISKIP, 1); TecUtilArgListAppendInt(ArgList, SV_JSKIP, 1); TecUtilArgListAppendInt(ArgList, SV_KSKIP, 1); TecUtilDataSetReadX(ArgList); TecUtilStringListDealloc(&Instructions); TecUtilArgListDealloc(&ArgList); TecUtilLockFinish(AddOnID);
| Boolean_t TecUtilDataSetRequiresSaving | ( | void | ) |
| Boolean_t TecUtilDataSetSetTitle | ( | const char * | DataSetTitle | ) |
Set the title for the current data set.
| DataSetTitle | New title for the current frame's data set. |
INTEGER*4 FUNCTION TecUtilDataSetSetTitle(DataSetTitle) CHARACTER*(*) DataSetTitle
Python Syntax:
Results = TecUtil.DataSetSetTitle(DataSetTitle)
Input:
DataSetTitle string
Output:
Results[0] ReturnVal boolean
Set the current frame's data set title to be "Tecplot Data Set #1":
TecUtilDataSetSetTitle("Tecplot Data Set #1");
| void TecUtilDataSetSuspendMarking | ( | Boolean_t | DoSuspend | ) |
Stops Tecplot for altering or marking the loaded dataset.
| DoSuspend | A TRUE value to suspend the marking of the dataset and a FALSE value to allow marking. |
SUBROUTINE TecUtilDataSetSuspendMarking(DoSuspend) INTEGER*4 DoSuspend
Python Syntax:
Results = TecUtil.DataSetSuspendMarking(DoSuspend)
Input:
DoSuspend boolean
Output:
Results[0] ReturnVal NONE
Set the Marking property to be TRUE:
| Boolean_t TecUtilDataSetWriteX | ( | ArgList_pa | ArgList | ) |
Write the specified components of the current frame's data set to a file.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_FNAME
SV_INCLUDETEXT
SV_INCLUDEGEOM
SV_INCLUDEDATA
SV_INCLUDEDATASHARELINKAGE
SV_INCLUDEAUTOGENFACENEIGHBORS
SV_USEPOINTFORMAT
SV_BINARY
SV_ASSOCIATELAYOUTWITHDATAFILE
SV_ZONELIST
SV_VARLIST
|
INTEGER*4 FUNCTION TecUtilDataSetWriteX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.DataSetWriteX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataValueAlloc | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Allocates the space needed for the variable.
This function is used in conjunction with deferred variable creation. See the SV_DEFERVARCREATION option for TecUtilDataSetAddZoneX() and TecUtilDataSetAddVarX() for details.
| Zone | The zone needing the variable allocated. | |
| Var | The variable to be allocated. |
INTEGER*4 FUNCTION TecUtilDataValueAlloc( & Zone, & Var) INTEGER*4 Zone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueAlloc(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal boolean
Allocate the first variable of zone 3. Note that this example is only valid if the zone was added with the deferred variable creation option set to true.
IsOk = TecUtilDataValueAlloc(3, 1);
| void TecUtilDataValueArrayGetByRef | ( | FieldData_pa | SourceFieldData, | |
| LgIndex_t | SourceOffset, | |||
| LgIndex_t | SourceCount, | |||
| void * | DestValueArray | |||
| ) |
Fetch an Array of values by reference.
This function fetches the specified number of values from the source field data starting at the specified source item offset and copies them to the base of the destination value array. Note that the destination value array must be of the same data type as the source field data.
| SourceFieldData | Field data containing the data to fetch. | |
| SourceOffset | Member offset in the source field data to begin fetching values. | |
| SourceCount | Number of values to fetch from the source field data. | |
| DestValueArray | Pre-allocated array large enough to hold the requested members. The first member is placed at the base of the array. The native type of the array must match that of the field data. |
This function is not supported in Python.
| void TecUtilDataValueArraySetByRef | ( | FieldData_pa | DestFieldData, | |
| LgIndex_t | DestOffset, | |||
| LgIndex_t | DestCount, | |||
| void * | SourceValueArray | |||
| ) |
Copies the specified number of values from the base of the source value array to the destination field data starting at the specified offset.
Note that the source value array must be of the same data type as the destination field data.
| DestFieldData | Field data to receive the source values. | |
| DestOffset | Member offset in the destination field data to begin assigning values. DestOffset >= 1 and DestOffset <= DestCount. | |
| DestCount | Number of values to assign to the destination field data. | |
| SourceValueArray | An array containing the members to copy. The first member is assumed to be at the base of the array. |
This function is not supported in Python.
| Boolean_t TecUtilDataValueAutoLOD | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| DataValueStructure_e | DataValueStructure, | |||
| const char * | FileName, | |||
| FileOffset_t | Offset, | |||
| Int64_t | Stride, | |||
| Boolean_t | IsDataNativeByteOrder | |||
| ) |
Specifies where in the data file the data for the specified variable resides.
The variable must be layed out in memory using the structure specified. Using this information Tecplot will automatically load and unload the variable when Tecplot deems it necessary. It is the responsibility of the add-on to ensure that the file remains present and unaltered while Tecplot maintains a reference to this file as Tecplot may unload and subsequently reload the variable at unspecified times.
This function is used in conjunction with deferred variable creation. See the SV_DEFERVARCREATION option for TecUtilDataSetAddZoneX() and TecUtilDataSetAddVarX() for details.
| Zone | The zone of the variable to have Tecplot automatically load on demand. | |
| Var | Variable to have Tecplot automatically load on demand. | |
| DataValueStructure | Specifies the structure type to which the data in the file conforms. | |
| FileName | Data file name containing the variable data layed out using Tecplot's binary block data format. | |
| Offset | Absolute offset to the start of the variable data in the file. | |
| Stride | The stride tells Tecplot how to skip through the file for nodal data. Only nodal data can specify a stride greater than one. A stride of one offers much higher load/unload performance than strides greater than one. | |
| IsDataNativeByteOrder | Indicates if the byte ordering of the data in the file matches the machine's native byte ordering. |
Results = TecUtil.DataValueAutoLOD(Zone, Var, DataValueStructure, FileName, Offset, Stride, IsDataNativeByteOrder)
Input:
Zone int
Var int
DataValueStructure DataValueStructure_e (defined in TecVals.py)
FileName string
Offset long
Stride long
IsDataNativeByteOrder boolean
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataValueBranchShared | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Branch off a shared variable.
The specified variable of the specified zone is branched so it is no longer shared with anything.
| Zone | Zone in which the shared variable is located. | |
| Var | Variable that will be branched |
INTEGER*4 FUNCTION TecUtilDataValueBranchShared( & Zone, & Var) INTEGER*4 Zone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueBranchShared(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal boolean
Branch variable 2 in zone 1.
TecUtilDataValueBranchShared(1, 2);
| Boolean_t TecUtilDataValueCanMemMapData | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| MemMapOffset_t | Offset, | |||
| Boolean_t | IsDataNativeByteOrder | |||
| ) |
| void TecUtilDataValueCopy | ( | EntIndex_t | SourceZone, | |
| EntIndex_t | DestZone, | |||
| EntIndex_t | Var | |||
| ) |
Copies the data from the source zone's variable to the destination zone.
The destination zone's variable must already be allocated or memory mapped and it may not be shared. Both zones must have the same structure (both Ordered with the same I,J, and K values; or both are finite-elements with the same element type and same number of nodes.
| SourceZone | The zone number where the data values are based. | |
| DestZone | The zone number where the data values will be copied from the source zone. | |
| Var | The variable to be copied. |
SUBROUTINE TecUtilDataValueCopy( & SourceZone, & DestZone, & Var) INTEGER*4 SourceZone INTEGER*4 DestZone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueCopy(SourceZone, DestZone, Var)
Input:
SourceZone int
DestZone int
Var int
Output:
Results[0] ReturnVal NONE
Copy the values from variable 1 of zone 2 to zone 3.
TecUtilDataValueCopy(2, 3, 1);
| Boolean_t TecUtilDataValueCustomLOD | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| LoadOnDemandVarLoad_pf | VariableLoad, | |||
| LoadOnDemandVarUnload_pf | VariableUnload, | |||
| LoadOnDemandVarCleanup_pf | VariableCleanup, | |||
| FieldValueGetFunction_pf | GetValueFunction, | |||
| FieldValueSetFunction_pf | SetValueFunction, | |||
| ArbParam_t | ClientData | |||
| ) |
Registers with Tecplot the load-on-demand callbacks and client data for a specific variable.
Tecplot will notify the add-on via the callbacks when the variable needs to be loaded, unloaded, and cleaned up or when a value needs to be fetched or submitted.
All callbacks must be written in a thread-safe manner so that Tecplot can make parallel requests to load (and/or unload) multiple variables. The easiest way to write thread-safe callbacks is to not use any shared state (i.e. global or static state) in order to perform the requested action but instead to use private client data to maintain all the information needed to perform the requested action.
It is important that GetValue and SetValue callbacks do NOT lock/unlock Tecplot or call TecUtil functions that require Tecplot to be locked as this will incur a performance penalty. GetValue and SetValue functions should be lightweight and fast.
Calls made back to Tecplot in response to a load, unload, or cleanup request should be limited to queries except in the case where data is being loaded into a variable. In addition, no state changes should be broadcast by the callbacks.
This function is used in conjunction with deferred variable creation. See the SV_DEFERVARCREATION option for TecUtilDataSetAddZoneX() and TecUtilDataSetAddVarX() for details.
Two methods for loading and accessing data are available for custom load-on-demand (see ADK Users Manual for details):
| Zone | Zone containing the variable that will now be custom load-on-demand. | |
| Var | Variable that will now be custom load-on-demand. | |
| VariableLoad | Tecplot calls this callback when the variable is to be loaded. The VariableLoad() callback may never get called if the variable is not needed or it may get called immediately if load-on-demand capabilities are not available. Depending on the load-on-demand method the callback has different responsibilities:
| |
| VariableUnload | Most add-ons will supply NULL for this callback. Supplying NULL instructs Tecplot to handled the unloading (and subsequent reloading) of the variable without the intervention of the add-on. If the add-on does supply this callback, Tecplot calls it when the variable is to be unloaded. This query provides the add-on an opportunity to allow or deny a variable to be unloaded by returning TRUE or FALSE respectively. Unless there is a compelling reason, such as very expensive load costs (in which case NULL should probably be supplied for this callback), the add-on should honor Tecplot's request to unload the variable (i.e. the VariableUnload() callback should return TRUE). An add-on may also cleanup any private resources that are not needed when the variable is unloaded, however the add-on must still maintain enough information to load the variable again if requested by Tecplot. The VariableUnload() callback may never get called if the variable does not need to be unloaded nor will the VariableUnload() callback necessarily be called before the VariableCleanup() callback. | |
| VariableCleanup | Tecplot calls this callback when the variable is to be cleaned up. This allows the add-on to cleanup any private resources that were used in conjunction with identifying or loading this variable. After a variable is cleaned up Tecplot will never again request it to be loaded. Tecplot may or may not call the VariableUnload() callback before calling the VariableCleanup() callback. Additionally, the VariableCleanup() callback will be called even if the variable was never loaded. | |
| GetValueFunction | Tecplot calls this callback to fetch the value from the field data at the specified index. This callback is only registered by add-ons that are using the "Custom Load Value on Demand" method, otherwise pass NULL. | |
| SetValueFunction | Tecplot calls this callback to submit a value to the field data at the specified index. This callback is only registered by add-ons that are using the "Custom Load Value on Demand" method, otherwise pass NULL. By providing a SetValueFunction() callback the add-on is signifying it will store any changes to the field data until the variable is cleaned up. Most "Custom Load Value on Demand" add-ons should pass NULL for this callback and allow Tecplot to store variable modifications. | |
| ClientData | Private client data needed by the custom load-on-demand callbacks to perform the duties of loading, unloading, and cleaning up the variable or to perform the get or set requests. Tecplot stores the client data in the field data structure and must be retrieved by the callbacks using TecUtilDataValueGetClientData(). The client data should ONLY be retrieved in response to a custom load, unload, cleanup, get-value, or set-value callback. At no other time is the request valid. |
double *ZeroVariableGetValue(const FieldData_pa FieldData, LgIndex_t PointIndex) { return 0.0; } . . . IsOk = TecUtilDataValueCustomLOD(3, 4, NULL, NULL, NULL, ZeroVariableGetValue, NULL, 0);
Following is an example of how to create a variable using the "Custom Load Variable on Demand" method by registering some simple load/unload/cleanup callbacks.
typedef struct { char *DataFileName; long SeekOffset; LgIndex_t NumValues; ... other information needed to load variable data } MyVariableClientData_s; Boolean_t MyVariableLoader(FieldData_pa FieldData) { REQUIRE(VALID_REF(FieldData)); MyVariableClientData_s *MyClientData = (MyVariableClientData_s *)TecUtilDataValueGetClientData(FieldData); // open the data file FILE *MyDataFile = fopen(MyClientData->DataFileName, "rb"); Boolean_t IsOk = (MyDataFile != NULL); // seek to the place in the file where the variable data is located IsOk = IsOk && (fseek(MyDataFile, MyClientData->SeekOffset, SEEK_SET) == 0); if (IsOk) { // load the data into the variable's field data IsOk = ReadMyDataInfoVariable(MyDataFile, MyClientData, FieldData); } // cleanup if (MyDataFile != NULL) fclose(MyDataFile); ENSURE(VALID_BOOLEAN(IsOk)); return IsOk; } Boolean_t MyVariableUnload(FieldData_pa FieldData) { REQUIRE(VALID_REF(FieldData)); // We don't have any private data to cleanup (i.e in addition to the // private client data which we don't cleanup here) so all we have to do // is return TRUE or FALSE letting Tecplot know that it can or can not // unload the variable. Boolean_t Result = TRUE; // ...tell Tecplot to go ahead and unload the variable ENSURE(VALID_BOOLEAN(Result)); return Result; } void MyVariableCleanup(FieldData_pa FieldData) { REQUIRE(VALID_REF(FieldData)); MyVariableClientData_s *MyClientData = (MyVariableClientData_s *)TecUtilDataValueGetClientData(FieldData); // cleanup privately allocated resources free(MyClientData->DataFileName); free(MyClientData); } . . . MyVariableClientData_s *MyClientData = (MyVariableClientData_s *)malloc(sizeof(MyVariableClientData_s)); const char *MyDataFileName = "MyDataFileName.dat"; MyClientData->MyDataFileName = (char *)malloc(strlen(MyDataFileName)+1); strcpy(MyClientData->MyDataFileName, MyDataFileName); MyClientData->SeekOffset = ... determined somewhere else MyClientData->NumValues = ... determined somewhere else ... initialize any other client data information needed to load variable data IsOk = TecUtilDataValueCustomLOD(3, 4, MyVariableLoader, MyVariableUnload, // most add-ons should pass NULL instead of MyVariableUnload MyVariableCleanup, NULL, // passing NULL for GetValue function signifies load-variable-on-demand NULL, (ArbParam_t)MyClientData);
Python Syntax:
This function is not supported in Python.
| double TecUtilDataValueGetByRef | ( | FieldData_pa | FieldData, | |
| LgIndex_t | PointIndex | |||
| ) |
Get a field data value.
To use this function you must have already obtained a handle to field data.
| FieldData | A field data reference usually obtained via a call to one of the following functions: TecUtilDataValueGetReadableNativeRef(), TecUtilDataValueGetReadableDerivedRef(), TecUtilDataValueGetReadableNLRef(), or TecUtilDataValueGetReadableCCRef(). | |
| PointIndex | Position in the array of field data values. Position starts at one. If FieldData came from an IJ- or IJK-ordered zone then the position is calculated by treating the two- or three-dimensional array as a one-dimensional array. |
REAL*8 FUNCTION TecUtilDataValueGetByRef( & FieldDataPtr, & PointIndex) POINTER (FieldDataPtr, FieldData) INTEGER*4 PointIndex
Python Syntax:
Results = TecUtil.DataValueGetByRef(FieldData, PointIndex)
Input:
FieldData opaque pointer
PointIndex int
Output:
Results[0] ReturnVal double
Get the first twenty data values for the second variable in zone 5:
FieldData_pa fd = TecUtilDataValueGetReadableNativeRef(5, 2); LgIndex_t numpts = TecUtilDataValueGetCountByRef(fd); if ( fd ) { int ii; for ( ii = 1; ii <= numpts; ii++ ) { double val = TecUtilDataValueGetByRef(fd, ii); // do something with val } }
| double TecUtilDataValueGetByZoneVar | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| LgIndex_t | PointIndex | |||
| ) |
Get a field data value.
This function does not require you to obtain the handle to the field data as does TecUtilDataValueGetByRef(), however, this function is not very efficient. Use TecUtilDataValueGetByRef() if you are getting multiple values from the same zone.
| Zone | The zone number | |
| Var | The variable number | |
| PointIndex | Position in the array of field data values. Position starts at one. If FieldData came from an IJ- or IJK-ordered zone then the position is calculated by treating the two- or three-dimensional array as a one-dimensional array |
REAL*8 FUNCTION TecUtilDataValueGetByZoneVar( & Zone, & Var, & PointIndex) INTEGER*4 Zone INTEGER*4 Var INTEGER*4 PointIndex
Python Syntax:
Results = TecUtil.DataValueGetByZoneVar(Zone, Var, PointIndex)
Input:
Zone int
Var int
PointIndex int
Output:
Results[0] ReturnVal double
Get the twenty-first value of the second variable of zone 5:
double dd = TecUtilDataValueGetByZoneVar(5, 2, 21); // Use val.
| ArbParam_t TecUtilDataValueGetClientData | ( | FieldData_pa | FieldData | ) |
Return the custom load-on-demand client data from a field data handle.
The client data should ONLY be retrieved in response to a custom load, unload, cleanup, get-value, or set-value callback. At no other time is the request valid.
| FieldData | Custom load-on-demand field data handle. |
This function is not supported in Python.
double MyGetValueFunction(const FieldData_pa FieldData, LgIndex_t PointIndex) { double Result; MyClientData_s *MyClientData = (MyClientData_s *)TecUtilDataValueGetClientData(FieldData); // calculate or extract the requested value from the client data . . . return Result; }
| LgIndex_t TecUtilDataValueGetCountByRef | ( | FieldData_pa | FieldData | ) |
Gets the number of values associated with the field data reference.
| FieldData | Handle to the field data. Use TecUtilDataValueGetReadableNativeRef(), TecUtilDataValueGetReadableDerivedRef(), TecUtilDataValueGetReadableNLRef(), TecUtilDataValueGetReadableCCRef(), or TecUtilDataValueGetWritableNativeRef() to get readable or writable handles to the field data. |
INTEGER*4 FUNCTION TecUtilDataValueGetCountByRef(FieldDataPtr) & FieldDataPtr) POINTER (FieldDataPtr, FieldData)
Python Syntax:
Results = TecUtil.DataValueGetCountByRef(FieldData)
Input:
FieldData opaque pointer
Output:
Results[0] ReturnVal int
Determine how many values are associated with the second variable of zone 5.
FieldData_pa FD = TecUtilDataValueGetReadableNativeRef(5, 2); LgIndex_t NumValues = TecUtilDataValueGetCountByRef(FD);
| ValueLocation_e TecUtilDataValueGetLocation | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Queries for the location of the variable.
| Zone | The zone number. | |
| Var | The variable number |
INTEGER*4 FUNCTION TecUtilDataValueGetLocation( & Zone, & Var) INTEGER*4 Zone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueGetLocation(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal ValueLocation_e (defined in TecVals.py)
Get the value location of variable 2 in zone 5:
ValueLocation_e ValLoc = TecUtilDataValueGetLocation(5, 2);
| void TecUtilDataValueGetMinMaxByRef | ( | FieldData_pa | FieldData, | |
| double * | Min, | |||
| double * | Max | |||
| ) |
Get the minimum and maximum values for a tecplot variable using the field data reference.
| FieldData | A field data reference usually obtained via a call to one of the following functions: TecUtilDataValueGetReadableNativeRef(), TecUtilDataValueGetReadableDerivedRef(), TecUtilDataValueGetReadableNLRef(), or TecUtilDataValueGetReadableCCRef(). | |
| Min | Returned minimum value. | |
| Max | Returned maximum value. |
SUBROUTINE TecUtilDataValueGetMinMaxByRef( & FieldDataPtr, & Min, & Max) POINTER (FieldDataPtr, FieldData) REAL*8 Min REAL*8 Max
Python Syntax:
Results = TecUtil.DataValueGetMinMaxByRef(FieldData)
Input:
FieldData opaque pointer
Output:
Results[0] Min double
Results[1] Max double
Get the minimum and maximum values for the third variable in zone 2 in the current data set.
FieldData_pa FD; double Min; double Max; FD = TecUtilDataValueGetReadableNativeRef(2,3); TecUtilDataValueGetMinMaxByRef(FD,&Min,&Max);
| Boolean_t TecUtilDataValueGetMinMaxByZoneVar | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| double * | Min, | |||
| double * | Max | |||
| ) |
Get the minimum and maximum values for a tecplot variable using a zone and variable number.
| Zone | The zone number of the variable to be examinined for min/max values. | |
| Var | The variable number to be examinined for min/max values. | |
| Min | Returned minimum value. | |
| Max | Returned maximum value. |
SUBROUTINE TecUtilDataValueGetMinMaxByZoneVar( & Zone, & Var, & Min, & Max) INTEGER*4 Zone INTEGER*4 Var REAL*8 Min REAL*8 Max
Python Syntax:
Results = TecUtil.DataValueGetMinMaxByZoneVar(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal boolean
Results[1] Min double
Results[2] Max double
Get the minimum and maximum values for the third variable in zone 2 in the current data set.
double Min; double Max; TecUtilDataValueGetMinMaxByZoneVar(2,3,&Min,&Max);
| void TecUtilDataValueGetRawPtr | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| void ** | DataPtr, | |||
| FieldDataType_e * | FieldDataType | |||
| ) |
| FieldData_pa TecUtilDataValueGetReadableCCRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Get a read-only handle to the cell centered data for the specified zone and variable in the data set attached to the current frame.
| Zone | Number of the zone for which to get the field data | |
| Var | Number of the variable for which to get the field data |
SUBROUTINE TecUtilDataValueGetReadableCCRef( & Zone, & Var, & ResultPtr) INTEGER*4 Zone INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataValueGetReadableCCRef(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal opaque pointer
Function that loads the values of a field variable into a supplied double precision array. Assume the array is already dimensioned correctly and the dataset, zone, and variable exist.
static void ReadVals(double Var[], EntIndex_t ZoneNum, EntIndex_t VarNum) { FieldData_pa FieldData = TecUtilDataValueGetReadableCCRef(ZoneNum, VarNum); if (FieldData) { int i; LgIndex_t NumValues = TecUtilDataValueGetCountByRef(FieldData); // Remember that the GetByRef function is 1-based.... for (i = 0; i < NumPointsInZone; i++) Var[i] = TecUtilDataValueGetByRef(FieldData, i+1); } }
| FieldData_pa TecUtilDataValueGetReadableDerivedRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Get a read-only handle to the derived data for the specified zone and variable in the data set attached to the current frame.
| Zone | Number of the zone for which to get the field data | |
| Var | Number of the variable for which to get the field data |
SUBROUTINE TecUtilDataValueGetReadableDerivedRef( & Zone, & Var, & ResultPtr) INTEGER*4 Zone INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataValueGetReadableDerivedRef(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal opaque pointer
Function that loads the values of a field variable into a supplied double precision array. Assume the array is already dimensioned correctly and the dataset, zone, and variable exist.
static void ReadVals(double Var[], EntIndex_t ZoneNum, EntIndex_t VarNum) { FieldData_pa FieldData = TecUtilDataValueGetReadableDerivedRef(ZoneNum, VarNum); if (FieldData) { int i; LgIndex_t NumValues = TecUtilDataValueGetCountByRef(FieldData); // Remember that the GetByRef function is 1-based.... for (i = 0; i < NumPointsInZone; i++) Var[i] = TecUtilDataValueGetByRef(FieldData, i+1); } }
| FieldData_pa TecUtilDataValueGetReadableNativeRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Get a read-only handle to the native data for the specified zone and variable in the data set attached to the current frame.
| Zone | Number of the zone for which to get the field data | |
| Var | Number of the variable for which to get the field data |
SUBROUTINE TecUtilDataValueGetReadableNativeRef( & Zone, & Var, & ResultPtr) INTEGER*4 Zone INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataValueGetReadableNativeRef(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal opaque pointer
Function that loads the values of a field variable into a supplied double precision array. Assume the array is already dimensioned correctly and the dataset, zone, and variable exist.
static void ReadVals(double Var[], EntIndex_t ZoneNum, EntIndex_t VarNum) { FieldData_pa FieldData = TecUtilDataValueGetReadableNativeRef(ZoneNum, VarNum); if (FieldData) { int i; LgIndex_t NumValues = TecUtilDataValueGetCountByRef(FieldData); // Remember that the GetByRef function is 1-based.... for (i = 0; i < NumPointsInZone; i++) Var[i] = TecUtilDataValueGetByRef(FieldData, i+1); } }
| FieldData_pa TecUtilDataValueGetReadableNLRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Get a read-only handle to the node located data for the specified zone and variable in the data set attached to the current frame.
| Zone | Number of the zone for which to get the field data | |
| Var | Number of the variable for which to get the field data |
SUBROUTINE TecUtilDataValueGetReadableNLRef( & Zone, & Var, & ResultPtr) INTEGER*4 Zone INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataValueGetReadableNLRef(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal opaque pointer
Function that loads the values of a field variable into a supplied double precision array. Assume the array is already dimensioned correctly and the dataset, zone, and variable exist.
static void ReadVals(double Var[], EntIndex_t ZoneNum, EntIndex_t VarNum) { FieldData_pa FieldData = TecUtilDataValueGetReadableNLRef(ZoneNum, VarNum); if (FieldData) { int i; LgIndex_t NumValues = TecUtilDataValueGetCountByRef(FieldData); // Remember that the GetByRef function is 1-based.... for (i = 0; i < NumPointsInZone; i++) Var[i] = TecUtilDataValueGetByRef(FieldData, i+1); } }
| void TecUtilDataValueGetReadableRawPtr | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| void ** | DataPtr, | |||
| FieldDataType_e * | FieldDataType | |||
| ) |
Get a read-only handle to the raw field data in the data set attached to the current frame.
If possible this function provides direct access to a Tecplot variable's internal representation. If performance is not a concern consider using TecUtilDataValueGetByRef(), TecUtilDataValueSetByRef(). If high performance is essential then use TecUtilDataValueArrayGetByRef(), and TecUtilDataValueArraySetByRef() which provide nearly equivalent preformance to direct access. Alternatively for high performance consider using the field data's accessor functions by calling TecUtilDataValueRefGetGetFunc() and TecUtilDataValueRefGetSetFunc(). Note that these high performance functions are a very thin layer over a Tecplot variable's internal representation and unlike the raw field data pointer provided by this function, they are always available.
| Zone | Number of the zone for which to get the raw field data. | |
| Var | Number of the variable for which to get the raw field data. | |
| DataPtr | Receives the address of the raw field data. May return NULL if the type is too complex. If the type is too complex, you may use TecUtilDataValueRefGetGetFunc() and TecUtilDataValueRefGetSetFunc() to get functions that will deal with the data at a lower level than TecUtilDataValueGetByRef() and TecUtilDataValueSetByRef(). | |
| FieldDataType | Receives the data type of the raw field data. The following table shows the possible values for FieldDataType along with the corresponding data type that DataPtr references: |
FieldDataType DataPtr references
-------------------------------------------
FieldDataType_Float float *
FieldDataType_Double double *
FieldDataType_Int32 Int32_t *
FieldDataType_Int16 Int16_t *
FieldDataType_Byte char *
FieldDataType_Bit UInt32_t *
FieldDataType_Invalid too complex
Fortran Syntax:
SUBROUTINE TecUtilDataValueGetReadableRawPtr( & Zone, & Var, & DataPtr, & FieldDataType) INTEGER*4 Zone INTEGER*4 Var POINTER (DataPtrPtr, DataPtr) INTEGER*4 FieldDataType
Python Syntax:
This function is not supported in Python.
Get the first and second value values of the second variable of zone 5 using a raw data pointer. Note that the first and second values are accessed by zero and one respectively since the raw data is accessed with a zero-base numbering system.
EntIndex_t zone = 5; EntIndex_t var = 2; void *raw_fd_ptr = NULL; FieldDataType_e field_data_type; TecUtilDataValueGetReadableRawPtr(zone, var, &raw_fd_ptr, &field_data_type); if ( raw_fd_ptr ) { if ( field_data_type == FieldData_Float ) { const float *float_ptr = (const float *)raw_fd_ptr; float v1 = float_ptr[0]; float v2 = float_ptr[1]; ... do something with the data } }
| FieldData_pa TecUtilDataValueGetReadableRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
| FieldData_pa TecUtilDataValueGetRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
| FieldDataType_e TecUtilDataValueGetRefType | ( | FieldData_pa | FieldData | ) |
Get the field data type of a field data handle.
| FieldData | The field data reference for which the data type is desired. |
INTEGER*4 FUNCTION TecUtilDataValueGetRefType(FieldDataPtr) POINTER (FieldDataPtr, FieldData)
Python Syntax:
Results = TecUtil.DataValueGetRefType(FieldData)
Input:
FieldData opaque pointer
Output:
Results[0] ReturnVal FieldDataType_e (defined in TecVals.py)
Get the type of the data for variable 2 in zone 5 of the data set attached to the current frame and do something special if that type is FieldDataType_Bit
FieldData_pa fd = TecUtilDataValueGetReadableNativeRef(5, 2); FieldDataType_e field_data_type = TecUtilDataValueGetRefType(fd); if (field_data_type == FieldDataType_Bit) { // do something special }
| EntIndex_t TecUtilDataValueGetShareCount | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Get a count for the number of times a particular variable is shared.
| Zone | Zone in which the shared variable is located. | |
| Var | Variable that is shared. |
INTEGER*4 FUNCTION TecUtilDataValueGetShareCount( & Zone, & Var) INTEGER*4 Zone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueGetShareCount(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal int
Get share count of variable 2 in zone 1.
EntIndex_t ShareCount = TecUtilDataValueGetShareCount(1, 2);
| Set_pa TecUtilDataValueGetShareZoneSet | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Gets the set of zones that share the variable with the specified zone.
If the specified zone's variable is shared then it is also a member of the resulting set otherwise an empty set is returned.
| Zone | Zone for which sharing information is desired. | |
| Var | Variable for which sharing information is desired. |
SUBROUTINE TecUtilDataValueGetShareZoneSet( & Zone, & Var, & ResultPtr) INTEGER*4 Zone INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataValueGetShareZoneSet(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal sequence of ints
| FieldDataType_e TecUtilDataValueGetType | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Queries for the data type of the variable.
| Zone | The zone number. | |
| Var | The variable number |
INTEGER*4 FUNCTION TecUtilDataValueGetType( & Zone, & Var) INTEGER*4 Zone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueGetType(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal FieldDataType_e (defined in TecVals.py)
Get the data type of variable 2 in zone 5:
FieldDataType_e ValLoc = TecUtilDataValueGetType(5, 2);
| FieldData_pa TecUtilDataValueGetWritableNativeRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Get a native read/write handle to the data for the specified zone and variable in the data set attached to the current frame.
It is important to realize that when altering the values this variable may in fact be shared. If you want the new values to only apply to the specific zone and variable associated with this handle then you must first call TecUtilDataValueBranchShared() prior to calling TecUtilDataValueGetWritableNativeRef().
| Zone | Number of the zone for which to get the field data | |
| Var | Number of the variable for which to get the field data |
SUBROUTINE TecUtilDataValueGetWritableNativeRef( & Zone, & Var, & ResultPtr) INTEGER*4 Zone INTEGER*4 Var POINTER (ResultPtr, Result)
Python Syntax:
Results = TecUtil.DataValueGetWritableNativeRef(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal opaque pointer
Function that multiplies variable VarNum in Zone ZoneNum by 2.
static void MultiplyV3By2(EntIndex_t ZoneNum, EntIndex_t VarNum) { // Make sure we are only modifying var VarNum in zone ZoneNum. if (TecUtilDataValueBranchShared(ZoneNum,VarNum)) { FieldData_pa FieldData = TecUtilDataValueGetWritableNativeRef(ZoneNum, VarNum); if (FieldData) { int i; LgIndex_t NumValues = TecUtilDataValueGetCountByRef(FieldData); // Note 1-based for (i = 1; i <= NumPointsInZone; i++) { double OldValue = TecUtilDataValueGetByRef(FieldData, i); TecUtilDataValueSetByRef(FieldData,i,OldValue*2.0); } } } }
| void TecUtilDataValueGetWritableRawPtr | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| void ** | DataPtr, | |||
| FieldDataType_e * | FieldDataType | |||
| ) |
Get a read/write handle to the raw field data in the data set attached to the current frame.
If possible this function provides direct access to a Tecplot variable's internal representation. If performance is not a concern consider using TecUtilDataValueGetByRef(), TecUtilDataValueSetByRef(). If high performance is essential then use TecUtilDataValueArrayGetByRef(), and TecUtilDataValueArraySetByRef() which provide nearly equivalent preformance to direct access. Alternatively for high performance consider using the field data's accessor functions by calling TecUtilDataValueRefGetGetFunc() and TecUtilDataValueRefGetSetFunc(). Note that these high performance functions are a very thin layer over a Tecplot variable's internal representation and unlike the raw field data pointer provided by this function, they are always available.
| Zone | Number of the zone for which to get the raw field data. | |
| Var | Number of the variable for which to get the raw field data. | |
| DataPtr | Receives the address of the raw field data. May return NULL if the type is too complex. If the type is too complex, you may use TecUtilDataValueRefGetGetFunc() and TecUtilDataValueRefGetSetFunc() to get functions that will deal with the data at a lower level than TecUtilDataValueGetByRef() and TecUtilDataValueSetByRef(). | |
| FieldDataType | Receives the data type of the raw field data. The following table shows the possible values for FieldDataType along with the corresponding data type that DataPtr references: |
FieldDataType DataPtr references
-------------------------------------------
FieldDataType_Float float *
FieldDataType_Double double *
FieldDataType_Int32 Int32_t *
FieldDataType_Int16 Int16_t *
FieldDataType_Byte char *
FieldDataType_Bit UInt32_t *
FieldDataType_Invalid too complex
Fortran Syntax:
SUBROUTINE TecUtilDataValueGetWritableRawPtr( & Zone, & Var, & DataPtr, & FieldDataType) INTEGER*4 Zone INTEGER*4 Var POINTER (DataPtrPtr, DataPtr) INTEGER*4 FieldDataType
Python Syntax:
This function is not supported in Python.
Get and then set the first and second values of the second variable of zone 5 using a raw data pointer. Note that the first and second values are accessed by zero and one respectively since the raw data is accessed with a zero-base numbering system. Be sure to call TecUtilStateChanged() when you change the data in this way:
EntIndex_t zone = 5; EntIndex_t var = 2; void *raw_fd_ptr = NULL; FieldDataType_e field_data_type; TecUtilDataValueGetWritableRawPtr(zone, var, &raw_fd_ptr, &field_data_type); if ( raw_fd_ptr ) { if ( field_data_type == FieldData_Float ) { Set_pa altered_vars = TecUtilSetAlloc(TRUE); float *float_ptr = (float *)raw_fd_ptr; float v1 = float_ptr[0]; float v2 = float_ptr[1]; // alter v1 and v2 in some way v1 = 2.0 * v1; v2 = 2.0 * v2; float_ptr[0] = v1; float_ptr[1] = v2; // inform Tecplot of var value change TecUtilSetAddMember(altered_vars, var, TRUE); TecUtilStateChanged(StateChange_VarsAltered, (ArbParam_t)altered_vars); TecUtilSetDealloc(&altered_vars); } }
| FieldData_pa TecUtilDataValueGetWritableRef | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
| Boolean_t TecUtilDataValueGetZoneVarByRef | ( | FieldData_pa | FD, | |
| EntIndex_t * | Zone, | |||
| EntIndex_t * | Var | |||
| ) |
Get a candidate zone and variable associated with the given field data reference.
Note that if the variable is shared then more than one zone and variable combination exists, therefore the first zone and variable combination associated with the field data reference is returned. The following search rules are used: Active relevant zones are searched first and then all remaining enabled zones.
| FD | A field data reference usually obtained via a call to one of the following functions: TecUtilDataValueGetReadableNativeRef(), TecUtilDataValueGetReadableDerivedRef(), TecUtilDataValueGetReadableNLRef(), TecUtilDataValueGetReadableCCRef(), or TecUtilDataValueGetWritableNativeRef(). | |
| Zone | Pointer to the resulting candidate Zone associated with the field data. | |
| Var | Pointer to the resulting Variable associated with the field data. |
None.
Python Syntax:
Results = TecUtil.DataValueGetZoneVarByRef(FD, Zone, Var)
Input:
FD opaque pointer
Zone list of ints
Var list of ints
Output:
Results[0] ReturnVal boolean
Get a candidate zone and variable associated with field data FD;
EntIndex_t Zone; EntIndex_t Var; FieldData_pa FD = TecUtilDataValueGetReadableNaiveRef(5, 2);; if (TecUtilDataValueGetZoneVarByRef(FD,&Zone,&Var)) { // Do something with Zone and Var. }
| Boolean_t TecUtilDataValueIsPassive | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Determine if a variable is passive for a particular zone.
Refer to the Data Format Guide for more information on passive variables.
| Zone | The number of the zone to which the variable belongs. | |
| Var | The number of the variable in question. |
INTEGER*4 FUNCTION TecUtilDataValueIsPassive( & Zone, & Var) INTEGER*4 Zone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueIsPassive(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilDataValueIsSharingOk | ( | EntIndex_t | SourceZone, | |
| EntIndex_t | DestZone, | |||
| EntIndex_t | Var | |||
| ) |
Determine if it is ok to share a variable between zones.
For rules on sharing between zones, see TecUtilDataValueShare().
| SourceZone | The source zone (the zone where the values will be stored). | |
| DestZone | The destination zone (the zone acquiring the shared values). | |
| Var | The variable to be shared. |
INTEGER*4 FUNCTION TecUtilDataValueIsSharingOk( & SourceZone, & DestZone, & Var) INTEGER*4 SourceZone INTEGER*4 DestZone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueIsSharingOk(SourceZone, DestZone, Var)
Input:
SourceZone int
DestZone int
Var int
Output:
Results[0] ReturnVal boolean
If sharing is ok for variable 7 between zones 3 and 5 then share the variable.
if (TecUtilDataValueIsSharingOk(3,5,7)) TecUtilDataValueShare(3,5,7);
| Boolean_t TecUtilDataValueMemMapData | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| int | FileDescriptor, | |||
| MemMapOffset_t | Offset, | |||
| Boolean_t | IsDataNativeByteOrder | |||
| ) |
| FieldValueGetFunction_pf TecUtilDataValueRefGetGetFunc | ( | FieldData_pa | FD | ) |
Get the low-level "get value" function associated with a field data handle.
In general, using this function is faster than calling TecUtilDataValueGetByRef().
| FD | A field data reference usually obtained via a call to one of the following functions: TecUtilDataValueGetReadableNativeRef(), TecUtilDataValueGetReadableDerivedRef(), TecUtilDataValueGetReadableNLRef(), TecUtilDataValueGetReadableCCRef(), or TecUtilDataValueGetWritableNativeRef(). |
This function is not supported in Python.
Efficiently get the first twenty-one values of the second variable of zone 5:
LgIndex pt; FieldData_pa FD = TecUtilDataValueGetReadableNaiveRef(5, 2); FieldValueGetFunction_pf GetFunction = TecUtilDataValueRefGetGetFunc(FD); for ( pt = 0; pt < 21; pt++ ) // use =0 and <21 becaused SetFunction is 0-based { double val = GetFunction(fd, pt); // Use val. }
| FieldValueSetFunction_pf TecUtilDataValueRefGetSetFunc | ( | FieldData_pa | FD | ) |
Get the low-level "set value" function associated with a field data handle.
In general, using this function is faster than calling TecUtilDataValueSetByRef().
| FD | A field data handle usually obtained via TecUtilDataValueGetWritableNativeRef(). |
None.
Python Syntax:
This function is not supported in Python.
Efficiently set the twenty-first values of the second variable of zone 5 to 17.6:
Set_pa alteredVars = TecUtilSetAlloc(TRUE); LgIndex pt; FieldData_pa FD = TecUtilDataValueGetWritableNativeRef(5, 2); FieldValueSetFunction_pf setFunction = TecUtilDataValueRefSetGetFunc(FD); for ( pt = 0; pt < 21; pt++ ) // use =0 and <21 becaused setFunction is 0-based setFunction(fd, pt, 17.6); // inform Tecplot of var value change TecUtilSetAddMember(alteredVars, 2, TRUE); TecUtilStateChanged(StateChange_VarsAltered, (ArbParam_t)alteredVars); TecUtilSetDealloc(&alteredVars);
| void TecUtilDataValueSetByRef | ( | FieldData_pa | FD, | |
| LgIndex_t | PointIndex, | |||
| double | Value | |||
| ) |
Assign a value to a field variable at a specific position.
If the zone referenced is IJ- or IJK-ordered, the position is calculated by treating the two- or three-dimensional array as a one-dimensional array. Be sure to call TecUtilStateChanged() after changing field data in this way.
| FD | A field data reference usually obtained via a call to one of the following functions: TecUtilDataValueGetReadableNativeRef(), TecUtilDataValueGetReadableDerivedRef(), TecUtilDataValueGetReadableNLRef(), TecUtilDataValueGetReadableCCRef(), or TecUtilDataValueGetWritableRef(). | |
| PointIndex | Position in the array of field data values. Position starts at one. For cell centered variables in ordered zones, the array includes values for IMax, JMax and KMax, even though these values are not used. You must account for these "ghost" cells in calculating the PointIndex. The formula for PointIndex in terms of I,J, and K is the same for both Nodal and cell centered variables. PointIndex = I + (J-1)*IMax + (K-1)*IMax*JMax; | |
| Value | New value for the position in the field data. |
SUBROUTINE TecUtilDataValueSetByRef( & FDPtr, & PointIndex, & Value) POINTER (FDPtr, FD) INTEGER*4 PointIndex REAL*8 Value
Python Syntax:
Results = TecUtil.DataValueSetByRef(FD, PointIndex, Value)
Input:
FD opaque pointer
PointIndex int
Value double
Output:
Results[0] ReturnVal NONE
Set the first two values of the second variable of zone 5 to be 1.25 and 1.35 respectively:
Set_pa altered_vars; FieldData_pa fd = TecUtilDataValueGetWritableNativeRef(5, 2); if ( fd ) { TecUtilDataValueSetByRef(fd, 1, 1.25); TecUtilDataValueSetByRef(fd, 2, 1.35); // inform Tecplot of var value change altered_vars = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(altered_vars, var, TRUE); TecUtilStateChanged(StateChange_VarsAltered, (ArbParam_t)altered_vars); TecUtilSetDealloc(&altered_vars); }
| Boolean_t TecUtilDataValueSetByZoneVar | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| LgIndex_t | PointIndex, | |||
| double | Value | |||
| ) |
Assign a value to a field variable at a specific position.
This function does not require you to obtain the handle to the field data as does TecUtilDataValueSetByRef(), however this function is not very efficient. Use TecUtilDataValueSetByRef() if you are setting multiple values in the same zone. If the zone referenced is IJ- or IJK-ordered then the position is calculated by treating the two- or three-dimensional array as a one-dimensional array. TecUtilStateChanged() need not be called after changing data in this way since Tecplot will handle that for you.
| Zone | The zone number. | |
| Var | The variable number. | |
| PointIndex | Position in the array of field data values. Position starts at one. | |
| Value | New value for the position in the field data. |
INTEGER*4 FUNCTION TecUtilDataValueSetByZoneVar( & Zone, & Var, & PointIndex, & Value) INTEGER*4 Zone INTEGER*4 Var INTEGER*4 PointIndex REAL*8 Value
Python Syntax:
Results = TecUtil.DataValueSetByZoneVar(Zone, Var, PointIndex, Value)
Input:
Zone int
Var int
PointIndex int
Value double
Output:
Results[0] ReturnVal boolean
Set the first value of the second variable of zone 5 to be 0.0.
TecUtilDataValueSetByZoneVar(5, 2, 1, 0.0);
| void TecUtilDataValueSetMinMaxByRef | ( | FieldData_pa | FieldData, | |
| double | MinValue, | |||
| double | MaxValue | |||
| ) |
Set the minimum and maximum values for a tecplot variable using a field data reference.
Although Tecplot will calculate the min/max value for a variable if one is not supplied there are cases where it is valuable to supply these values. If a loader add-on knows the min/max values it may save a significant amount of time to supply them. Additionally, if an add-on is loading variables using Tecplot's load-on-demand facility supplying the min/max value for a variable prevents Tecplot from having to load the variable in some situations, saving time and memory. It is important that the supplied values accurately represent the min/max values of the data and not a subset of the data.
| FieldData | The field data handle of the variable to receive the min/max value assignments. | |
| MinValue | Minimum variable value. | |
| MaxValue | Maximum variable value. |
SUBROUTINE TecUtilDataValueSetMinMaxByRef( & FieldDataPtr, & MinValue, & MaxValue) POINTER (FieldDataPtr, FieldData) REAL*8 MinValue REAL*8 MaxValue
Python Syntax:
Results = TecUtil.DataValueSetMinMaxByRef(FieldData, MinValue, MaxValue)
Input:
FieldData opaque pointer
MinValue double
MaxValue double
Output:
Results[0] ReturnVal NONE
Set the minimum and maximum values for a newly loaded variable.
... after defining the data to load, issue state change ... // supply the min/max value of the variable reference TecUtilDataValueSetMinMaxByRef(FieldData, MinValue, MaxValue);
Multiply the value of the 3rd variable of the 2nd zone and then tell Tecplot the new min/max value so it doesn't have to recalculate it.
double MinValue; double MaxValue; double Factor = 3.0; EntIndex_t Zone = 2; EntIneex_t Var = 3; FieldData_pa FieldData = TecUtilDataValueReadableGetRef(Zone, Var); TecUtilDataValueGetMinMaxByRef(FieldData, &MinValue, &MaxValue); // mutiply variable by the factor and issue a vars altered state change MyFuncToMultiplyVarByFactor(Zone, Var, Factor); //...not shown MyFuncToBroadcastStateChange(Zone, Var); //...not shown // assign the min/max values after a vars altered state change // as the state change call will invalidate the min/max values TecUtilDataValueSetMinMaxByRef(FieldData, MinValue*Factor, MaxValue*Factor);
| void TecUtilDataValueSetMinMaxByZoneVar | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var, | |||
| double | MinValue, | |||
| double | MaxValue | |||
| ) |
Set the minimum and maximum values for a tecplot variable using a zone and variable number.
Although Tecplot will calculate the min/max value for a variable if one is not supplied there are cases where it is valuable to supply these values. If a loader add-on knows the min/max values it may save a significant amount of time to supply them. Additionally, if an add-on is loading variables using Tecplot's load-on-demand facility supplying the min/max value for a variable prevents Tecplot from having to load the variable in some situations, saving time and memory. It is important that the supplied values accurately represent the min/max values of the data and not a subset of the data.
| Zone | The zone number of the variable to receive the min/max value assignments. | |
| Var | The variable number to receive the min/max value assignments. | |
| MinValue | Minimum variable value. | |
| MaxValue | Maximum variable value. |
SUBROUTINE TecUtilDataValueSetMinMaxByZoneVar( & Zone, & Var, & MinValue, & MaxValue) INTEGER*4 Zone INTEGER*4 Var REAL*8 MinValue REAL*8 MaxValue
Python Syntax:
Results = TecUtil.DataValueSetMinMaxByZoneVar(Zone, Var, MinValue, MaxValue)
Input:
Zone int
Var int
MinValue double
MaxValue double
Output:
Results[0] ReturnVal NONE
Set the minimum and maximum values for a newly loaded variable.
... after defining the data to load, issue state change ... // supply the min/max value for the variable 2 of zone 5 TecUtilDataValueSetMinMaxByZoneVar(5, 2, MinValue, MaxValue);
Multiply the value of the 3rd variable of the 2nd zone and then tell Tecplot the new min/max value so it doesn't have to recalculate it.
double MinValue; double MaxValue; double Factor = 3.0; EntIndex_t Zone = 2; EntIneex_t Var = 3; TecUtilDataValueGetMinMaxByZoneVar(Zone Var, &MinValue, &MaxValue); // mutiply variable by the factor and issue a vars altered state change MyFuncToMultiplyVarByFactor(Zone, Var, Factor); //...not shown MyFuncToBroadcastStateChange(Zone, Var); //...not shown TecUtilDataValueSetMinMaxByZoneVar(Zone, Var, MinValue*Factor, MaxValue*Factor);
| void TecUtilDataValueShare | ( | EntIndex_t | SourceZone, | |
| EntIndex_t | DestZone, | |||
| EntIndex_t | Var | |||
| ) |
Sets the properties of the variable so that it is shared between source and destination zones (using the source for values).
Both zones must have the same structure and value location: Ordered zones must have the same number of points if nodal but cell centered zones must specifically have the same I,J, and K values. Finite-element zones must have the same number of points if nodal or the same number of elements if cell centered. Sharing data between ordered and finite-element zones is only allowed if the values are nodal and the zones have the same number of points. Cell centered sharing is not allowed because ordered zones have ghost cells and finite-element zones do not.
| SourceZone | The zone number where the data values are based. | |
| DestZone | The zone number where the data values will be shared from the source zone. | |
| Var | The variable to be shared. |
SUBROUTINE TecUtilDataValueShare( & SourceZone, & DestZone, & Var) INTEGER*4 SourceZone INTEGER*4 DestZone INTEGER*4 Var
Python Syntax:
Results = TecUtil.DataValueShare(SourceZone, DestZone, Var)
Input:
SourceZone int
DestZone int
Var int
Output:
Results[0] ReturnVal NONE
Set the first variable of zone 3 to be shared with zone 2:
TecUtilDataValueShare(2, 3, 1);
| Boolean_t TecUtilDataValueUnload | ( | EntIndex_t | Zone, | |
| EntIndex_t | Var | |||
| ) |
Instructs Tecplot to unload the variable.
All field data references to the unloaded variable are invalid. If after unloading the variable you wish to inspect or modify the field data you must re-obtain a readable or writable field data reference or raw pointer.
| Zone | Zone containing the variable to unload. | |
| Var | Variable to unload. |
Results = TecUtil.DataValueUnload(Zone, Var)
Input:
Zone int
Var int
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilExtractFromGeom | ( | Boolean_t | ExtractOnlyPointsOnPolyline, | |
| Boolean_t | IncludeDistanceVariable, | |||
| LgIndex_t | NumPtsToExtractAlongPolyline, | |||
| Boolean_t | ExtractToFile, | |||
| const char * | ExtractFName | |||
| ) |
Extract data from a 2D or 3D field plot.
The locations at which to extract the data come from a polyline geometry that must be picked prior to issuing this command. When the frame mode is 3D and the ExtractThroughVolume parameter is false, the coordinates must be provided in the eye coordinate system, rather than in 3D grid coordinates.
| ExtractOnlyPointsOnPolyline | Extract only from the points that define the polyline | |
| IncludeDistanceVariable | Include the distance variable in the resulting data extracted. This is only available if ExtractToFile is TRUE | |
| NumPtsToExtractAlongPolyline | Number of points to evenly distribute along the polyline. Data is extracted from these points if ExtractOnlyPointsOnPolyline is FALSE | |
| ExtractToFile | If set to TRUE the data is sent to the file ExtractFName in the form of a valid Tecplot ASCII data file. If FALSE then a new zone is created within Tecplot | |
| ExtractFName | Name of the file where extracted data is sent if ExtractToFile is TRUE. |
INTEGER*4 FUNCTION TecUtilExtractFromGeom( & ExtractOnlyPointsOnPolyline, & IncludeDistanceVariable, & NumPtsToExtractAlongPolyline, & ExtractToFile, & ExtractFName) INTEGER*4 ExtractOnlyPointsOnPolyline INTEGER*4 IncludeDistanceVariable INTEGER*4 NumPtsToExtractAlongPolyline INTEGER*4 ExtractToFile CHARACTER*(*) ExtractFName
Python Syntax:
Results = TecUtil.ExtractFromGeom(ExtractOnlyPointsOnPolyline, IncludeDistanceVariable, NumPtsToExtractAlongPolyline, ExtractToFile, ExtractFName)
Input:
ExtractOnlyPointsOnPolyline boolean
IncludeDistanceVariable boolean
NumPtsToExtractAlongPolyline int
ExtractToFile boolean
ExtractFName string
Output:
Results[0] ReturnVal boolean
Extract 20 points from along the currently picked geometry. Send the result to a file called "extract.dat":
TecUtilExtractFromGeom(FALSE,FALSE,20,TRUE,"extract.dat");
| Boolean_t TecUtilExtractFromPolyline | ( | const double * | PolylineXPts_Array, | |
| const double * | PolylineYPts_Array, | |||
| const double * | PolylineZPts_Array, | |||
| LgIndex_t | NumPtsInPolyline, | |||
| Boolean_t | ExtractThroughVolume, | |||
| Boolean_t | ExtractOnlyPointsOnPolyline, | |||
| Boolean_t | IncludeDistanceVariable, | |||
| LgIndex_t | NumPtsToExtractAlongPolyline, | |||
| Boolean_t | ExtractToFile, | |||
| const char * | ExtractFName | |||
| ) |
Extract data from a 2-D or 3-D field plot.
| PolylineXPts_Array | X-array defining the polyline used to extract the data. | |
| PolylineYPts_Array | Y-array defining the polyline used to extract the data. | |
| PolylineZPts_Array | Z-array defining the polyline used to extract the data. | |
| NumPtsInPolyline | Number of points in the supplied polyline | |
| ExtractThroughVolume | If this is TRUE and the current frame mode is 3D then this will extract data from within any active volume zones in the data set. If the frame mode is 3D and this is FALSE then a projection is made from each extraction point onto the nearest surface away from your eye with respect to the eye coordinate system. If the frame mode is 2D then this parameter is ignored | |
| ExtractOnlyPointsOnPolyline | Extract only from the points that define the polyline | |
| IncludeDistanceVariable | Include the distance variable in the resulting extracted data. This is only available if ExtractToFile is TRUE. | |
| NumPtsToExtractAlongPolyline | Number of points to evenly distribute along the polyline. Data is extracted from these points if ExtractOnlyPointsOnPolyline is FALSE | |
| ExtractToFile | If set to TRUE the data is sent to the file ExtractFName in the form of a valid Tecplot ASCII data file. If FALSE then a new zone is created within Tecplot | |
| ExtractFName | Name of the file where extracted data is sent if ExtractToFile is TRUE |
INTEGER*4 FUNCTION TecUtilExtractFromPolyline( & PolylineXPts_Array, & PolylineYPts_Array, & PolylineZPts_Array, & NumPtsInPolyline, & ExtractThroughVolume, & ExtractOnlyPointsOnPolyline, & IncludeDistanceVariable, & NumPtsToExtractAlongPolyline, & ExtractToFile, & ExtractFName) REAL*8 PolylineXPts_Array REAL*8 PolylineYPts_Array REAL*8 PolylineZPts_Array INTEGER*4 NumPtsInPolyline INTEGER*4 ExtractThroughVolume INTEGER*4 ExtractOnlyPointsOnPolyline INTEGER*4 IncludeDistanceVariable INTEGER*4 NumPtsToExtractAlongPolyline INTEGER*4 ExtractToFile CHARACTER*(*) ExtractFName
Python Syntax:
Results = TecUtil.ExtractFromPolyline(PolylineXPts_Array, PolylineYPts_Array, PolylineZPts_Array, NumPtsInPolyline, ExtractThroughVolume, ExtractOnlyPointsOnPolyline, IncludeDistanceVariable, NumPtsToExtractAlongPolyline, ExtractToFile, ExtractFName)
Input:
PolylineXPts_Array list of doubles
PolylineYPts_Array list of doubles
PolylineZPts_Array list of doubles
NumPtsInPolyline int
ExtractThroughVolume boolean
ExtractOnlyPointsOnPolyline boolean
IncludeDistanceVariable boolean
NumPtsToExtractAlongPolyline int
ExtractToFile boolean
ExtractFName string
Output:
Results[0] ReturnVal boolean
Extract ten points from specific locations in a field plot. Create a zone with the extracted data:
// raw data double X[10] = { 0, 1, 2, 3, 3, 4, 4, 3, 4, 5 }; double Y[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; double Z[10] = { 4, 3, 2, 5, 3, 1, 2, 3, 4, 3 }; TecUtilExtractFromPolyline(X,Y,Z,10, TRUE,TRUE,FALSE,10,FALSE,NULL);
| Boolean_t TecUtilExtractInstallCallback | ( | ExtractDestination_pf | ExtractDestination, | |
| const char * | InformationLineText | |||
| ) |
If the current frame is 2D or 3D, change the mouse mode to be the extract discrete points tool and instruct Tecplot to call a different function when the user completes an extract-like operation in the work area.
This function callback will remain in effect until the user changes mouse modes in the Tecplot interface.
| ExtractDestination | Function to call when the extract event has been completed | |
| InformationLineText | Text to write on the information line when the override is in effect |
INTEGER*4 FUNCTION TecUtilExtractInstallCallback( & ExtractDestination, & InformationLineText) EXTERNAL ExtractDestination CHARACTER*(*) InformationLineText
Python Syntax:
This function is not supported in Python.
Change the mouse mode to be the Extract Discrete Points tool and install an extract callback function.
void MyExtractFunction(LgIndex_t NumPts, double *XValues, double *YValues) { // do something } . . . // elsewhere in the add-on TecUtilExtractInstallCallback(MyExtractFunction, "Status line info for my function");
| SetValueReturnCode_e TecUtilFieldMapSetActive | ( | Set_pa | FieldMapSet, | |
| AssignOp_e | AssignModifier | |||
| ) |
Assign which field maps are active.
| FieldMapSet | Set of field maps used to change the set of active field maps. The way in which the active field maps are changed is based on the AssignModifier. Must not be NULL. | |
| AssignModifier | The possible values are: AssignOp_Equals, AssignOp_PlusEquals, AssignOp_MinusEquals |
INTEGER*4 FUNCTION TecUtilFieldMapSetActive( & FieldMapSetPtr, & AssignModifier) POINTER (FieldMapSetPtr, FieldMapSet) INTEGER*4 AssignModifier
Python Syntax:
Results = TecUtil.FieldMapSetActive(FieldMapSet, AssignModifier)
Input:
FieldMapSet sequence of ints
AssignModifier AssignOp_e (defined in TecVals.py)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Activate field map 3:
Set_pa FieldMapSet = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(FieldMapSet, 3,TRUE); TecUtilFieldMapSetActive(FieldMapSet, AssignOp_PlusEquals); TecUtilSetDealloc(&FieldMapSet);
| Boolean_t TecUtilImportAddConverter | ( | DataSetConverter_pf | ConverterCallback, | |
| const char * | ConverterName, | |||
| const char * | FNameExtension | |||
| ) |
Register a data set converter with Tecplot.
This will add an option to the list of data imports accessed via the File/Import menu option. See Section 9.2, "Data Set Loaders," in the ADK User's Manual for a discussion of data set loaders.
| ConverterCallback | Name of the function to call to convert data to the Tecplot binary format. | |
| ConverterName | Unique name given to the data set converter. This name is used in the list of importers in the dialog launched by choosing File/Import. If a layout file is created the $READDATASET macro command will also use this name to identify the converter to use. | |
| FNameExtension | This is the file name extension used by files converted with this data set converter |
INTEGER*4 FUNCTION TecUtilImportAddConverter( & ConverterCallback, & ConverterName, & FNameExtension) POINTER (ConverterCallbackPtr, ConverterCallback) CHARACTER*(*) ConverterName CHARACTER*(*) FNameExtension
Python Syntax:
This function is not supported in Python.
An add-on is created that has the following data set converter function:
Boolean_t ConvertBananaData(char *DataFName, char *TempBinFName, char **MessageString); { Boolean_t IsOk = TRUE; // // Code here to open DataFName, // read in the data and write out a binary // Tecplot datafile to TempBinFName using // calls to TecUtilTecXxx functions. If there is // a problem, call TecUtilStringAlloc() on // MessageString, supply a message describing the // issue, and set ISOk to FALSE. // return (IsOk); } The call to register the data set converter with Tecplot is then accomplished using the following: . . IsOk = TecUtilImportAddConverter(ConvertBananaData, "BANANA", "*.ban");
| Boolean_t TecUtilImportAddLoader | ( | DataSetLoader_pf | LoaderCallback, | |
| const char * | DataSetLoaderName, | |||
| DynamicMenuCallback_pf | LoaderSelectedCallback, | |||
| DataSetLoaderInstructionOverride_pf | InstructionOverrideCallback | |||
| ) |
Register a data set loader with Tecplot.
This will add an option to the list of data imports accessed via the File/Import menu option. Data set loaders are more complex than data set converters, but provide you with greater flexibility in terms of the graphical user interface and how the data can be retrieved. See Section 9.2, "Data Set Loaders," in the ADK User's Manual for a discussion of data set loaders.
| LoaderCallback | Name of the function to call to load non-Tecplot format data into Tecplot. The data set loader itself calls this function when a request is made to load non-Tecplot format data in via the user interface. Tecplot also calls this function when processing a $!READDATASET macro command that identifies this loader. | |
| DataSetLoaderName | Unique name given to the DataSet Loader. This name is used in the list of importers in the dialog launched by choosing File/Import. If a layout file is created, the $READDATASET macro command will also use this name to identify the loader to use. | |
| LoaderSelectedCallback | Name of the function that is called when the user selects this data set loader from the list of importers in the File/Import dialog. This function typically will launch a custom dialog to prompt the user to identify the data to be loaded | |
| InstructionOverrideCallback | Name of the function to call when the user chooses to override the data source for a given data set when a layout file is being read in. If set to NULL then Tecplot will issue an error message stating that this operation is not available. If provided, this function typically will launch a dialog that shows the user what the current settings are to load the data and provide a means by which the user can alter these instructions. The Instructions stringlist is updated according to changes made by the user and the new information is then used to load the data. |
INTEGER*4 FUNCTION TecUtilImportAddLoader( & LoaderCallback, & DataSetLoaderName, & LoaderSelectedCallback, & InstructionOverrideCallback) POINTER (LoaderCallbackPtr, LoaderCallback) CHARACTER*(*) DataSetLoaderName POINTER (LoaderSelectedCallbackPtr, LoaderSelectedCallback) POINTER (InstructionOverrideCallbackPtr, InstructionOverrideCallback)
Python Syntax:
This function is not supported in Python.
An add-on is created that has the following data set loader function:
Boolean_t LoadBananaData (StringList_pa Instructions) { Boolean_t IsOk = TRUE; // // Add code to scan through instructions // and load the data. When done, inform // Tecplot about the instructions used to // load the data. // if (IsOk) TecUtilImportSetLoaderInstr("BANANA", Instructions); return (IsOk); } A function is also created to handle user requests to use the loader from the File/Import dialog: void BananaLoaderDialog (void) { // // Launch a custom dialog to prompt the // user to identify the data to be loaded. // } A function is also created to handle user requests to modify the instructions. This function is optional. Boolean_t OverrideBananaInstructions (StringList_pa Instructions) { Boolean_t IsOk = TRUE; // // Code here to view the current instructions and present // an interface to the user to change them. // return (IsOk); } The call to register the data set loader with Tecplot is then accomplished using the following: . . IsOk = TecUtilImportAddLoader(LoadBananaData, "BANANA", BananaLoaderDialog, OverrideBananaInstructions);
| Boolean_t TecUtilImportGetLoaderInstr | ( | char ** | DataSetLoaderName, | |
| StringList_pa * | DataSetLoaderInstructions | |||
| ) |
Get the instructions of the last data loader used to load the data into the data set attached to the current frame.
If a foreign data set loader addon was used to load the data, then the instruction string passed to the loader is returned. If the data was loaded by Tecplot, then the DataSetReaderName returned is "TECPLOT" and each file name in the data set is returned in the DataSetLoaderInstructions stringlist parameter. The current frame must have an attached data set when this function is used.
| DataSetLoaderName | Name of the data set loader. You must use TecUtilStringDealloc() to free this string when you are done with it. | |
| DataSetLoaderInstructions | The data set loader instructions. You must use TecUtilStringListDealloc() to free this string list when you are done with it. |
INTEGER*4 FUNCTION TecUtilImportGetLoaderInstr( & DataSetLoaderName, & DataSetLoaderNameLength, & DataSetLoaderInstructionsPtr) CHARACTER*(*) DataSetLoaderName INTEGER*4 DataSetLoaderNameLength POINTER (DataSetLoaderInstructionsPtr, DataSetLoaderInstructions)
Python Syntax:
Results = TecUtil.ImportGetLoaderInstr()
Output:
Results[0] ReturnVal boolean
Results[1] DataSetLoaderName string
Results[2] DataSetLoaderInstructions sequence of strings
Get the data set loader and instructions used to load the current frame's data set:
if (TecUtilDataSetIsAvailable()) { char *LoaderName; StringList_pa LoaderInstructs; Boolean_t IsOk = TecUtilImportGetLoaderInstr(&LoaderName, &LoaderInstructs); if (IsOk && LoaderName != NULL && LoaderInstructs != NULL && strcmp(LoaderName, "BANANA") == 0) { ... } if (LoaderName != NULL) TecUtilStringDealloc(&LoaderName); if (LoaderInstructs != NULL) TecUtilStringListDealloc(&LoaderInstructs); }
| void TecUtilImportGetLoaderInstrByNum | ( | LgIndex_t | Index, | |
| char ** | DataSetReaderName, | |||
| StringList_pa * | DataSetLoaderInstructions | |||
| ) |
Retrieves the instructions of the n'th data loader used to load the data into the data set attached to the current frame.
Use 1 for the first data loader, or call TecUtilImportGetLoaderInstrCount(), and use this value to get the most recent data loader. If a foreign data set loader addon was used to load the data, then the instruction string passed to the loader is returned. If the data was loaded by Tecplot, then the DataSetReaderName returned is "TECPLOT" and each file name in the data set is returned in the DataSetLoaderInstructions stringlist parameter. The current frame must have an attached data set when this function is used. You MUST call TecUtilImportGetLoaderInstrCount before calling this function in order to verify that at least 1 load command exists in the data journal. This function will assert if the Index parameter is invalid.
| Index | Index of the loader instruction list to retrieve | |
| DataSetReaderName | Receives the DataSet reader name of the selected instruction list This parameter must be released after use with TecUtilStringDealloc. This parameter may be NULL. | |
| DataSetLoaderInstructions | Receives the instruction string list selected This parameter must be released after use with TecUtilStringListDealloc. This parameter may be NULL. |
SUBROUTINE TecUtilImportGetLoaderInstrByNum & Index, & DataSetReaderName & DataSetReaderNameLength & DataSetLoaderInstructions, INTEGER*4 Index CHARACTER*(*) DataSetReaderName INTEGER*4 DataSetReaderNameLength POINTER (DataSetLoaderInstructions, StringList)
Python Syntax:
Results = TecUtil.ImportGetLoaderInstrByNum(Index)
Input:
Index int
Output:
Results[0] DataSetReaderName string
Results[1] DataSetLoaderInstructions sequence of strings
if (TecUtilDataSetIsAvailable()) { LgIndex_t MaxInstr = TecUtilImportGetLoaderInstrCount(); if ( MaxInstr > 0 ) { // only call TecUtilImportGetLoaderInstrByNum if // at least one dataset read instruction list exists StringList_pa Instr = NULL; char *LoaderName = NULL; // Get the last instruction list available TecUtilImportGetLoaderInstrByNum(MaxInstr, // 1-based &LoaderName, &Instr); // release when finished TecUtilStringDealloc(&LoaderName); TecUtilStringListDealloc(&Instr); } }
| LgIndex_t TecUtilImportGetLoaderInstrCount | ( | void | ) |
Gets the number of loader instruction lists available for retrieval by TecUtilImportGetLoaderInstrByNum.
You must call this function before calling TecUtilImportGetLoaderInstrByNum, to determine the maximum index of the dataset reader instruction index parameter. This function will return 0 if there are no dataset read commands in the journal. You must call this function before calling TecUtilImportGetLoaderInstrCount() in order to verify that at least one dataset read command has been executed.
INTEGER*4 FUNCTION TecUtilImportGetLoaderInstrCount()
Python Syntax:
Results = TecUtil.ImportGetLoaderInstrCount()
Output:
Results[0] ReturnVal int
if (TecUtilDataSetIsAvailable()) { LgIndex_t MaxInstr = TecUtilImportGetLoaderInstrCount(); if ( MaxInstr > 0 ) { // only call TecUtilImportGetLoaderInstrByNum if // at least one dataset read instruction list exists StringList_pa *Instr = NULL; char *LoaderName = NULL; // Get the last instruction list available TecUtilImportGetLoaderInstrByNum(MaxInstr, // 1-based &LoaderName, &Instr); // release when finished TecUtilStringDealloc(&LoaderName); TecUtilStringListDealloc(&Instr); } }
| Boolean_t TecUtilImportSetLoaderInstr | ( | const char * | DataSetLoaderName, | |
| StringList_pa | Instructions | |||
| ) |
Inform Tecplot about the instructions used to load the current data set.
It is assumed that the current data set was loaded via a data set loader. The current frame must have an attached data set when this function is used.
| DataSetLoaderName | Unique loader name. This same name must be used in TecUtilImportAddLoader(). | |
| Instructions | Instructions used to load the current data set |
INTEGER*4 FUNCTION TecUtilImportSetLoaderInstr( & DataSetLoaderName, & InstructionsPtr) CHARACTER*(*) DataSetLoaderName POINTER (InstructionsPtr, Instructions)
Python Syntax:
Results = TecUtil.ImportSetLoaderInstr(DataSetLoaderName, Instructions)
Input:
DataSetLoaderName string
Instructions sequence of strings
Output:
Results[0] ReturnVal boolean
| void TecUtilImportWriteLoaderInstr | ( | const char * | DataSetLoaderName, | |
| StringList_pa | Instructions | |||
| ) |
Writes a $!READDATASET macro command to the macro file if macro recording is on.
| DataSetLoaderName | Unique loader name. This same name must be used when calling TecUtilImportAddLoader(). | |
| Instructions | Instructions used to load the current data set. If you are not calling TecUtilImportSetLoaderInstr(), then typically this would be the filename which was used to load your data. |
SUBROUTINE TecUtilImportWriteLoaderInstr( & DataSetLoaderName, & InstructionsPtr) CHARACTER*(*) DataSetLoaderName POINTER (InstructionsPtr, Instructions)
Python Syntax:
Results = TecUtil.ImportWriteLoaderInstr(DataSetLoaderName, Instructions)
Input:
DataSetLoaderName string
Instructions sequence of strings
Output:
Results[0] ReturnVal NONE
Set up an instruction containing a filename and write a $!READDATASET macro command to the current macro file:
StringList_pa Instructs = TecUtilStringListAlloc(); TecUtilStringListAppendString(Instructs, "myfile.dat"); TecUtilImportWriteLoaderInstr("BANANA", Instructs); TecUtilStringListDealloc(&Instructs);
| Boolean_t TecUtilInverseDistInterpolation | ( | Set_pa | SourceZones, | |
| EntIndex_t | DestZone, | |||
| Set_pa | VarList, | |||
| double | InvDistExponent, | |||
| double | InvDistMinRadius, | |||
| PtSelection_e | InterpPtSelection, | |||
| LgIndex_t | InterpNPoints | |||
| ) |
Interpolate selected variables from one or more zones onto a destination zone using the inverse distance method.
See Section 8.8.1, "Inverse-Distance Interpolation," in the Tecplot User's Manual for more information about inverse distance interpolation and its available options.
| SourceZones | Set of zones used to obtain the field values from for the interpolation. Use NULL to specify all zones except DestZone. | |
| DestZone | Destination zone for the interpolation | |
| VarList | Set of variables to interpolate. Use NULL to specify all variables except those assigned to the axes | |
| InvDistExponent | Exponent for the inverse-distance weighting. (Normal default value is 3.5.) | |
| InvDistMinRadius | Minimum distance used for the inverse-distance weighting. (Normal default value is 0.0.) | |
| InterpPtSelection | Method for determining which source points to consider for each destination data point. (Normal default value is PtSelection_OctantN.) The possible values are: PtSelection_All (All points in the source zone). PtSelection_NearestN (Closest N points to the destination point). PtSelection_OctantN (Closest N points selected by coordinate-system octants) | |
| InterpNPoints | Number of source points to consider for each destination data point. Only used if InterpPtSelection is PtSelection_NearestN or PtSelection_OctantN. (Normal default value is eight.) Must be greater than zero |
INTEGER*4 FUNCTION TecUtilInverseDistInterpolation( & SourceZonesPtr, & DestZone, & VarListPtr, & InvDistExponent, & InvDistMinRadius, & InterpPtSelection, & InterpNPoints) POINTER (SourceZonesPtr, SourceZones) INTEGER*4 DestZone POINTER (VarListPtr, VarList) REAL*8 InvDistExponent REAL*8 InvDistMinRadius INTEGER*4 InterpPtSelection INTEGER*4 InterpNPoints
Python Syntax:
Results = TecUtil.InverseDistInterpolation(SourceZones, DestZone, VarList, InvDistExponent, InvDistMinRadius, InterpPtSelection, InterpNPoints)
Input:
SourceZones sequence of ints
DestZone int
VarList sequence of ints
InvDistExponent double
InvDistMinRadius double
InterpPtSelection PtSelection_e (defined in TecVals.py)
InterpNPoints int
Output:
Results[0] ReturnVal boolean
Interpolate all of the variables (except those assigned to the axes) from zones 1-3 to zone 4 using inverse-distance.
Boolean_t IsOk; Set_pa Zones = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(Zones, 1, TRUE); TecUtilSetAddMember(Zones, 2, TRUE); TecUtilSetAddMember(Zones, 3, TRUE); IsOk = TecUtilInverseDistInterpolation( Zones, 4, (Set_pa)NULL, 3.5, 0.0, PtSelection_OctantN, 8); TecUtilSetDealloc(&Zones);
| Boolean_t TecUtilKrig | ( | Set_pa | SourceZones, | |
| EntIndex_t | DestZone, | |||
| Set_pa | VarList, | |||
| double | KrigRange, | |||
| double | KrigZeroValue, | |||
| Drift_e | KrigDrift, | |||
| PtSelection_e | InterpPtSelection, | |||
| LgIndex_t | InterpNPoints | |||
| ) |
Interpolate selected variables from a set of source zones to a destination zone using the kriging method.
See Section 8.8.2, "Kriging," in the Tecplot User's Manual for more information about kriging and its available options.
| SourceZones | Set of zones used to obtain the field values for interpolation. Use NULL to specify all zones except DestZone | |
| DestZone | Destination zone for interpolation | |
| VarList | Set of variables to interpolate. Use NULL to specify all variables except those assigned to the axes | |
| KrigRange | Distance beyond which source points become insignificant. (Normal default value is 0.3.) Must be between zero and one, inclusive | |
| KrigZeroValue | Semi-variance at each source data point on a normalized scale from zero to one. (Normal default value is 0.0.) | |
| KrigDrift | Overall trend for the data. (Normal default value is Drift_Linear.) The possible values are: Drift_None (No trend). Drift_Linear (Linear trend). Drift_Quad (Quadratic trend). | |
| InterpPtSelection | Method for determining which source points to consider for each destination data point. The possible values are: PtSelection_All (All points in the source zone). PtSelection_NearestN (Closest N points to the destination point). PtSelection_OctantN (Closest N points selected by coordinate-system octants) | |
| InterpNPoints | Number of source points to consider for each destination data point. Only used if InterpPtSelection is PtSelection_NearestN or PtSelection_OctantN. (Normal default value is eight.) Must be greater than zero |
INTEGER*4 FUNCTION TecUtilKrig( & SourceZonesPtr, & DestZone, & VarListPtr, & KrigRange, & KrigZeroValue, & KrigDrift, & InterpPtSelection, & InterpNPoints) POINTER (SourceZonesPtr, SourceZones) INTEGER*4 DestZone POINTER (VarListPtr, VarList) REAL*8 KrigRange REAL*8 KrigZeroValue INTEGER*4 KrigDrift INTEGER*4 InterpPtSelection INTEGER*4 InterpNPoints
Python Syntax:
Results = TecUtil.Krig(SourceZones, DestZone, VarList, KrigRange, KrigZeroValue, KrigDrift, InterpPtSelection, InterpNPoints)
Input:
SourceZones sequence of ints
DestZone int
VarList sequence of ints
KrigRange double
KrigZeroValue double
KrigDrift Drift_e (defined in TecVals.py)
InterpPtSelection PtSelection_e (defined in TecVals.py)
InterpNPoints int
Output:
Results[0] ReturnVal boolean
Interpolate all of the variables (except those assigned to the axes) from zones 1-3 to zone 4 using kriging:
Boolean_t IsOk; Set_pa Zones = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(Zones, 1, TRUE); TecUtilSetAddMember(Zones, 2, TRUE); TecUtilSetAddMember(Zones, 3, TRUE); IsOk = TecUtilKrig( Zones, 4, (Set_pa)NULL, 0.3, 0.0, Drift_Linear, PtSelection_OctantN, 8); TecUtilSetDealloc(&Zones);
| Boolean_t TecUtilLinearInterpolate | ( | Set_pa | SourceZones, | |
| EntIndex_t | DestZone, | |||
| Set_pa | VarList, | |||
| double | LinearInterpConst, | |||
| LinearInterpMode_e | LinearInterpMode | |||
| ) |
Interpolate selected variables from a set of source zones to a destination zone using linear interpolation.
The source zones cannot be I-ordered. Values assigned to the destination zone are equivalent to the results of using the Probe tool in Tecplot. See Section 8.8.3, "Linear Interpolation," in the Tecplot User's Manual for more information about linear interpolation and its available options.
| SourceZones | Set of zones used to obtain the field values for interpolation. Use NULL to specify all zones except DestZone. | |
| DestZone | Destination zone for interpolation | |
| VarList | Set of variables to interpolate. Use NULL to specify all variables except those assigned to the axes | |
| LinearInterpConst | Constant value to which all points outside the data field are set. Only used if LinearInterpMode is LinearInterpMode_SetToConst. (Normal default value is 0.0.) | |
| LinearInterpMode | How to deal with points that are outside the source zones' data field. (Normal default value is LinearInterpMode_SetToConst.) The possible values are: LinearInterpMode_DontChange (Preserves the points values). LinearInterpMode_SetToConst (Sets all points to LinearInterpConst). |
INTEGER*4 FUNCTION TecUtilLinearInterpolate( & SourceZonesPtr, & DestZone, & VarListPtr, & LinearInterpConst, & LinearInterpMode) POINTER (SourceZonesPtr, SourceZones) INTEGER*4 DestZone POINTER (VarListPtr, VarList) REAL*8 LinearInterpConst INTEGER*4 LinearInterpMode
Python Syntax:
Results = TecUtil.LinearInterpolate(SourceZones, DestZone, VarList, LinearInterpConst, LinearInterpMode)
Input:
SourceZones sequence of ints
DestZone int
VarList sequence of ints
LinearInterpConst double
LinearInterpMode LinearInterpMode_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Interpolate all of the variables (except those assigned to the axes) from zones 1-3 to zone 4 using linear interpolation:
Boolean_t IsOk; Set_pa Zones = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(Zones, 1, TRUE); TecUtilSetAddMember(Zones, 2, TRUE); TecUtilSetAddMember(Zones, 3, TRUE); IsOk = TecUtilLinearInterpolate( Zones, 4, (Set_pa)NULL, 0.0, LinearInterpMode_SetToConst); TecUtilSetDealloc(&Zones);
| void TecUtilMemoryChangeNotify | ( | Int64_t | ChangeInKBytes | ) |
Notify Tecplot when a significant change in memory occurs that is outside Tecplot's knowledge.
The additional information allows Tecplot to make better estimates about when to perform load-on-demand house keeping. The change in kilobytes is summed with Tecplot's overall memory statistics. Therefore, it is important that an add-on provide symmetric values. In other words, at the end of the add-on's life cycle, the sum of memory increases should equal the sum of memory decreases.
| ChangeInKBytes | A value indicating the change in kilobytes. A positive value indicates an increased memory change while a negative value indicate a decreased memory change. A value of zero may also be passed indicating no change. |
size_t BytesToAllocate = NumPoints * sizeof(MyStruct_s); MyStruct_s *MyArray = (MyStruct_s *)malloc(BytesToAllocate); if (MyArray != NULL) { Int64_t ChangeInKBytes = BytesToAllocate/1024 TecUtilMemoryChangeNotify(ChangeInKBytes); ...do something useful with the array // cleanup free(MyArray); TecUtilMemoryChangeNotify(-ChangeInKBytes); }
Results = TecUtil.MemoryChangeNotify(ChangeInKBytes)
Input:
ChangeInKBytes long
Output:
Results[0] ReturnVal NONE
| Boolean_t TecUtilReadDataSet | ( | ReadDataOption_e | ReadDataOption, | |
| Boolean_t | ResetStyle, | |||
| StringList_pa | FileNamesOrInstructions, | |||
| const char * | DataSetReader, | |||
| PlotType_e | InitialPlotType, | |||
| Boolean_t | IncludeText, | |||
| Boolean_t | IncludeGeom, | |||
| Boolean_t | IncludeCustomLabels, | |||
| Boolean_t | IncludeData, | |||
| Boolean_t | CollapseZonesAndVars, | |||
| Set_pa | ZonesToRead, | |||
| VarLoadMode_e | VarLoadMode, | |||
| Set_pa | VarPositionList, | |||
| StringList_pa | VarNameList, | |||
| LgIndex_t | ISkip, | |||
| LgIndex_t | JSkip, | |||
| LgIndex_t | KSkip | |||
| ) |
Read one or more data files into Tecplot to form a new data set in the current frame.
| ReadDataOption | Determine how to handle the situation where a data set already exists in the current frame. The possible values are: ReadDataOption_NewData (Remove the data set from the current frame before loading the new data set), ReadDataOption_AppendData (Append the new data to the current data set), and ReadDataOption_ReplaceData (Replace the data set in the current frame and in all frames which share the data set with the new data). | |
| ResetStyle | TRUE if you want to reset the style of the current frame, FALSE if you want to keep the same style. Only used if ReadDataOption is ReadDataOption_NewData or ReadDataOption_ReplaceData.FileNamesOr | |
| FileNamesOrInstructions | A string list containing the file names to load or the instructions to send to the data set reader (converter or loader) | |
| DataSetReader | Name of the data set reader (converter or loader). To let Tecplot load the data, use "TECPLOT." | |
| InitialPlotType | Initial PlotType for the data. Only used if ResetStyle is TRUE. To have Tecplot determine the most appropriate frame mode for the data, use Frame_Empty. The possible values are: PlotType_Automatic: PlotType_Cartesian3D, PlotType_Cartesian2D, PlotType_XYLine, PlotType_PolarLine, and PlotType_Sketch. PlotType_Automatic instructs Tecplot to choose the best frame mode. | |
| IncludeText | Set to TRUE to load any text in the data files. | |
| IncludeGeom | Set to TRUE to load any geometries in the data files. | |
| IncludeCustomLabels | Set to TRUE to load any custom labels in the data files | |
| IncludeData | Set to TRUE to load the data from the data files. Set to FALSE to only load text, geometries and/or custom labels, depending on IncludeText, IncludeGeom, and IncludeCustomLabels | |
| CollapseZonesAndVars | Set to TRUE to renumber zones and variables if any are disabled. For more information on collapsing zones and variables, see Section 5.1.1.7, "Zone and Variable List Collapsing," in the Tecplot User's Manual | |
| ZonesToRead | Set of zones to load from the data files. Use NULL to load all zones | |
| VarLoadMode | Choose to load variables by name or by their position in the data file. See Section 5.1.1.6, "Variable Loading by Position," in the Tecplot User's Manual for more information about loading variables by name or by position. If ReadDataOption is ReadDataOption_AppendData, this must be same as the mode of the data set in the current frame. Use TecUtilDataSetGetVarLoadMode() to get this information. The possible values are: VarLoadMode_ByName and VarLoadMode_ByPosition. | |
| VarPositionList | Set of variables to load from the data files. Use NULL to load all variables. Ignored if VarLoadMode is VarLoadMode_ByName | |
| VarNameList | Set of variable names to load from the data files. Use NULL to load only variable names common to all data files. Must be NULL if VarLoadMode is VarLoadMode_ByPosition. When appending to the existing data set you must supply a new VarNameList where the new VarNameList is a superset of the existing one. A VarNameList that is a superset is one that contains all the variable names currently in use Tecplot. They must be in the same position. You can add new names either at the end of the list, or as aliases in the already established positions. Use a newline character to separate aliased names.If you do not create a VarNameList that is a superset then it is indeterminant which variable is in which position for the original data | |
| ISkip | Set to 1 to load every data point in the I-direction; 2 to load every other data point, and so forth. | |
| JSkip | Same as ISkip but for J-direction. | |
| KSkip | Same as ISkip but for K-direction. |
INTEGER*4 FUNCTION TecUtilReadDataSet( & ReadDataOption, & ResetStyle, & FileNamesOrInstructionsPtr, & DataSetReader, & InitialPlotType, & IncludeText, & IncludeGeom, & IncludeCustomLabels, & IncludeData, & CollapseZonesAndVars, & ZonesToReadPtr, & VarLoadMode, & VarPositionListPtr, & VarNameListPtr, & ISkip, & JSkip, & KSkip) INTEGER*4 ReadDataOption INTEGER*4 ResetStyle POINTER (FileNamesOrInstructionsPtr, FileNamesOrInstructions) CHARACTER*(*) DataSetReader INTEGER*4 InitialPlotType INTEGER*4 IncludeText INTEGER*4 IncludeGeom INTEGER*4 IncludeCustomLabels INTEGER*4 IncludeData INTEGER*4 CollapseZonesAndVars POINTER (ZonesToReadPtr, ZonesToRead) INTEGER*4 VarLoadMode POINTER (VarPositionListPtr, VarPositionList) POINTER (VarNameListPtr, VarNameList) INTEGER*4 ISkip INTEGER*4 JSkip INTEGER*4 KSkip
Python Syntax:
Results = TecUtil.ReadDataSet(ReadDataOption, ResetStyle, FileNamesOrInstructions, DataSetReader, InitialPlotType, IncludeText, IncludeGeom, IncludeCustomLabels, IncludeData, CollapseZonesAndVars, ZonesToRead, VarLoadMode, VarPositionList, VarNameList, ISkip, JSkip, KSkip)
Input:
ReadDataOption ReadDataOption_e (defined in TecVals.py)
ResetStyle boolean
FileNamesOrInstructions sequence of strings
DataSetReader string
InitialPlotType PlotType_e (defined in TecVals.py)
IncludeText boolean
IncludeGeom boolean
IncludeCustomLabels boolean
IncludeData boolean
CollapseZonesAndVars boolean
ZonesToRead sequence of ints
VarLoadMode VarLoadMode_e (defined in TecVals.py)
VarPositionList sequence of ints
VarNameList sequence of strings
ISkip int
JSkip int
KSkip int
Output:
Results[0] ReturnVal boolean
Good: Var names currently in Tecplot = "A" "B" "C" VarNameList is appended to read = "A" "B\nR" "C" "D"
Bad: Var names currently in Tecplot = "A" "B" "C" VarNameList is appended to read "A" "C" "B" "D"
In the good example the integrity of the original data is always maintained, that is, the new VarNameList works for the original data as well as the new data. Variable 2 can be either "B" or "R".
In the bad example, the new VarNameList states that variable 2 must contain "C" but "C" has already been assigned to variable 3 with the original data. Keep in mind that once variables are in Tecplot all style assignements are made based on variable position and not by name. Thus the variable positioning is important.
StringList_pa FileNames, VarNames; FileNames = TecUtilStringListAlloc(); TecUtilStringListAppendString(FileNames, "file1.plt"); TecUtilStringListAppendString(FileNames, "file2.plt"); VarNames = TecUtilStringListAlloc(); TecUtilStringListAppendString(VarNames, "X"); TecUtilStringListAppendString(VarNames, "Y"); TecUtilStringListAppendString(VarNames, "P\nPress"); IsOk = TecUtilReadDataSet(ReadDataOption_NewData, TRUE, FileNames, "TECPLOT", PlotType_Automatic, TRUE, TRUE, TRUE, TRUE, FALSE, (Set_pa)NULL, VarLoadMode_ByName, (Set_pa)NULL, VarNames, 1, 1, 1)) TecUtilStringListDealloc(&FileNames); TecUtilStringListDealloc(&VarNames);
Read a data set consisting of file1.plt and file2.plt. Load the variables named "X", "Y", and either "P" or "Press."
StringList_pa FileNames, VarNames; FileNames = TecUtilStringListAlloc(); TecUtilStringListAppendString(FileNames, "file1.plt"); TecUtilStringListAppendString(FileNames, "file2.plt"); VarNames = TecUtilStringListAlloc(); TecUtilStringListAppendString(VarNames, "X"); TecUtilStringListAppendString(VarNames, "Y"); TecUtilStringListAppendString(VarNames, "P\nPress"); IsOk = TecUtilReadDataSet(ReadDataOption_NewData, TRUE, FileNames, "TECPLOT", PlotType_Automatic, TRUE, TRUE, TRUE, TRUE, FALSE, (Set_pa)NULL, VarLoadMode_ByName, (Set_pa)NULL, VarNames, 1, 1, 1)) TecUtilStringListDealloc(&FileNames); TecUtilStringListDealloc(&VarNames);
Save the current layout to a file.
You must supply the file name.
| FName | The name of the layout file to save | |
| UseRelativePaths | Set to TRUE to make all of the files referenced by the layout file use paths relative to the current directory. Set to FALSE to make all of the files referenced by absolute paths |
INTEGER*4 FUNCTION TecUtilSaveLayout( & FName, & UseRelativePaths) CHARACTER*(*) FName INTEGER*4 UseRelativePaths
Python Syntax:
Results = TecUtil.SaveLayout(FName, UseRelativePaths)
Input:
FName string
UseRelativePaths boolean
Output:
Results[0] ReturnVal boolean
Save a layout file called temp.lay, using absolute paths:
Boolean_t IsOk = TecUtilSaveLayout("temp.lay", FALSE);
| Boolean_t TecUtilSetAddMember | ( | Set_pa | Set, | |
| SetIndex_t | Member, | |||
| Boolean_t | ShowErr | |||
| ) |
Add the specified member to the specified set.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set to which to add the specified member. | |
| Member | The item to add to the specified set. Members start at one. | |
| ShowErr | TRUE to display an error message if the function's return value is FALSE; FALSE to display no error message |
INTEGER*4 FUNCTION TecUtilSetAddMember( & SetPtr, & Member, & ShowErr) POINTER (SetPtr, Set) INTEGER*4 Member INTEGER*4 ShowErr
Python Syntax:
This function is not supported in Python.
Create a set called ZonesToDelete and add zones 2 and 4 to it:
Set_pa ZonesToDelete = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(ZonesToDelete, 2, TRUE); TecUtilSetAddMember(ZonesToDelete, 4, TRUE);
Allocate a new empty set.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| ShowErr | TRUE to display an error message if the function's return value is FALSE; FALSE to display no error message |
SUBROUTINE TecUtilSetAlloc( & ShowErr, & ResultPtr) INTEGER*4 ShowErr POINTER (ResultPtr, Result)
Python Syntax:
This function is not supported in Python.
Create two sets, A and B:
Set_pa A, B; A = TecUtilSetAlloc(TRUE); B = TecUtilSetAlloc(TRUE);
| void TecUtilSetClear | ( | Set_pa | Set | ) |
Empties the specified set.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set to empty |
SUBROUTINE TecUtilSetClear(SetPtr) POINTER (SetPtr, Set)
Python Syntax:
This function is not supported in Python.
Get the set of active zones, then clear the set so it can be used again:
Set_pa Zones = NULL; TecUtilZoneGetActive(&Zones); . . // Use the set of active zones . TecUtilSetClear(Zones); . . // Use the set for something else
Copy one set to another.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| DstSet | The destination set, which must already be allocated with TecUtilSetAlloc(). | |
| SrcSet | The source set | |
| ShowErr | Set to TRUE to display an error message if an error occurs during the call |
INTEGER*4 FUNCTION TecUtilSetCopy( & DstSetPtr, & SrcSetPtr, & ShowErr) POINTER (DstSetPtr, DstSet) POINTER (SrcSetPtr, SrcSet) INTEGER*4 ShowErr
Python Syntax:
This function is not supported in Python.
Make a copy of the set of active Line-maps:
Set_pa MySet, LineMaps = NULL; MySet = TecUtilSetAlloc(TRUE); TecUtilLineMapGetActive(&LineMaps); TecUtilSetCopy(MySet, LineMaps, TRUE); . . . TecUtilSetDealloc(&MySet); TecUtilSetDealloc(&LineMaps);
| void TecUtilSetDealloc | ( | Set_pa * | Set | ) |
Free all memory associated with the specified set and assign the set to be NULL.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set to deallocate. |
SUBROUTINE TecUtilSetDealloc(SetPtr) POINTER (SetPtr, Set)
Python Syntax:
This function is not supported in Python.
| SetIndex_t TecUtilSetGetMember | ( | Set_pa | Set, | |
| SetIndex_t | Position | |||
| ) |
Get the member of the specified set at the specified position.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set from which to get the member. | |
| Position | The position in the set. |
INTEGER*4 FUNCTION TecUtilSetGetMember( & SetPtr, & Position) POINTER (SetPtr, Set) INTEGER*4 Position
Python Syntax:
This function is not supported in Python.
Get each member from the set MySet:
Set_pa MySet; . . SetIndex_t Member; SetIndex_t Count; SetIndex_t Position; Count = TecUtilSetGetMemberCount(MySet); for (Position = 1; Position <= Count; Position++) { Member = TecUtilSetGetMember(MySet, Position); . . }
| SetIndex_t TecUtilSetGetMemberCount | ( | Set_pa | Set | ) |
Get the count of the number of members in a set.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set for which to get the count |
INTEGER*4 FUNCTION TecUtilSetGetMemberCount(SetPtr) POINTER (SetPtr, Set)
Python Syntax:
This function is not supported in Python.
| SetIndex_t TecUtilSetGetNextMember | ( | Set_pa | Set, | |
| SetIndex_t | Member | |||
| ) |
Get the next member in the specified set which is located after the specified member.
See Chapter 20, "Using Sets," in the ADK User's Manual for a discussion of sets.
| Set | The set from which to get the member | |
| Member | The member after which to return the next member. Members start at one. Use TECUTILSETNOTMEMBER to get the first member of the set |
INTEGER*4 FUNCTION TecUtilSetGetNextMember( & SetPtr, & Member) POINTER (SetPtr, Set) INTEGER*4 Member
Python Syntax:
This function is not supported in Python.
Loop through all members of the set MySet:
Set_pa MySet; . . SetIndex_t Member = TecUtilSetGetNextMember(MySet, TECUTILSETNOTMEMBER); while (Member != TECUTILSETNOTMEMBER) { . . Member = TecUtilSetGetNextMember(MySet, Member); }
| SetIndex_t TecUtilSetGetPosition | ( | Set_pa | Set, | |
| SetIndex_t | Member | |||
| ) |
Get the position in the specified set at which the specified member is located.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set from which to get the member | |
| Member | The member after which to get the position. Members start at one. |
INTEGER*4 FUNCTION TecUtilSetGetPosition( & SetPtr, & Member) POINTER (SetPtr, Set) INTEGER*4 Member
Python Syntax:
This function is not supported in Python.
Get the position of the member MyMember of the set MySet:
Set_pa MySet; SetIndex_t Member; . . SetIndex_t Position = TecUtilSetGetPosition(MySet, MyMember);
Determine if the specified set is NULL or contains no members.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set to check for members |
INTEGER*4 FUNCTION TecUtilSetIsEmpty(SetPtr) POINTER (SetPtr, Set)
Python Syntax:
This function is not supported in Python.
Determine if the set MySet is empty or contains no members:
Set_pa MySet; if (TecUtilSetIsEmpty(MySet)) { .... take action based on the set being empty. }
Determines if the specified sets are equal (have the same members).
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set1 | The set to compare with Set2. | |
| Set2 | The set to compare with Set1 |
INTEGER*4 FUNCTION TecUtilSetIsEqual( & Set1Ptr, & Set2Ptr) POINTER (Set1Ptr, Set1) POINTER (Set2Ptr, Set2)
Python Syntax:
This function is not supported in Python.
Determine if all enabled zones are active:
Boolean_t AllEnabledZonesAreActive; Set_pa ActiveZones = NULL; Set_pa EnabledZones = NULL; TecUtilZoneGetActive(&ActiveZones); TecUtilZoneGetEnabled(&EnabledZones); AllEnabledZonesAreActive = TecUtilSetIsEqual(ActiveZones, EnabledZones);
| Boolean_t TecUtilSetIsMember | ( | Set_pa | Set, | |
| SetIndex_t | Member | |||
| ) |
Determine if the specified member is in the specified set.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set to check for the specified member. | |
| Member | The item for which to check the specified set. Members start at one |
INTEGER*4 FUNCTION TecUtilSetIsMember( & SetPtr, & Member) POINTER (SetPtr, Set) INTEGER*4 Member
Python Syntax:
This function is not supported in Python.
Determine if the set MySet contains the member MyMember, and if so, remove MyMember from MySet:
Set_pa MySet; SetIndex_t MyMember; . . if (TecUtilSetIsMember(MySet, MyMember)) TecUtilSetRemoveMember(MySet, MyMember);
| void TecUtilSetRemoveMember | ( | Set_pa | Set, | |
| SetIndex_t | Member | |||
| ) |
Remove a member from a set.
See the chapter "Using Sets" in the ADK User's Manual for a discussion of sets.
| Set | The set from which to remove the specified member. | |
| Member | The member to remove from the specified set. Members start at one |
SUBROUTINE TecUtilSetRemoveMember( & SetPtr, & Member) POINTER (SetPtr, Set) INTEGER*4 Member
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilSmooth | ( | EntIndex_t | Zone, | |
| EntIndex_t | SmoothVar, | |||
| LgIndex_t | NumSmoothPasses, | |||
| double | SmoothWeight, | |||
| BoundaryCondition_e | SmoothBndryCond | |||
| ) |
Smooth data (that is, reduce the spikes) for selected variables in selected zones.
| Zone | The number of the zone to smooth. The zone must be an ordered zone (not a finite-element zone) | |
| SmoothVar | The number of the variable to smooth. This cannot be a variable which is assigned to an axis | |
| NumSmoothPasses | The number of smoothing passes to perform. The normal default value is on | |
| SmoothWeight | The relaxation factor for each pass of smoothing. Must be a number between zero and one (exclusively). Higher numbers indicate a greater smoothing effect. The normal default value is 0.8 | |
| SmoothBndryCond | The boundary condition by which to smooth. |
INTEGER*4 FUNCTION TecUtilSmooth( & Zone, & SmoothVar, & NumSmoothPasses, & SmoothWeight, & SmoothBndryCond) INTEGER*4 Zone INTEGER*4 SmoothVar INTEGER*4 NumSmoothPasses REAL*8 SmoothWeight INTEGER*4 SmoothBndryCond
Python Syntax:
Results = TecUtil.Smooth(Zone, SmoothVar, NumSmoothPasses, SmoothWeight, SmoothBndryCond)
Input:
Zone int
SmoothVar int
NumSmoothPasses int
SmoothWeight double
SmoothBndryCond BoundaryCondition_e (defined in TecVals.py)
Output:
Results[0] ReturnVal boolean
Perform one smoothing pass on variable 3 in zone 2:
TecUtilSmooth(2, 3, 1, 0.8, BoundaryCondition_Fixed);
| StringList_pa TecUtilStringListAlloc | ( | void | ) |
Create an empty string list.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists. Use TecUtilStringListDealloc() to deallocate the string list when it is no longer needed.
SUBROUTINE TecUtilStringListAlloc(ResultPtr) POINTER (ResultPtr, Result)
Python Syntax:
This function is not supported in Python.
Allocate and deallocate a string list.
StringList_pa Names = NULL; Names = TecUtilStringListAlloc(); if (Names != NULL) { // do something with the name list, append, clear, etc . . . // get rid of the name list TecUtilStringListDealloc(&Names); }
| Boolean_t TecUtilStringListAppend | ( | StringList_pa | Target, | |
| StringList_pa | Source | |||
| ) |
Append a copy of the contents of the source string list to the target string list.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| Target | String list to which the Source string list is appended. Use TecUtilStringListAlloc() to allocate a string list | |
| Source | String list to append to the Target. Use TecUtilStringListAlloc() to allocate a string list. |
INTEGER*4 FUNCTION TecUtilStringListAppend( & TargetPtr, & SourcePtr) POINTER (TargetPtr, Target) POINTER (SourcePtr, Source)
Python Syntax:
This function is not supported in Python.
Append one string list to another.
Boolean_t IsOk = FALSE; StringList_pa Names = NULL; StringList_pa DefaultNames = NULL; // call some function to get a names list from the user Names = MyFuncForGettingNamesFromUser(); // call some function to get some default name list DefaultNames = MyFuncForGettingDefaultNames(); // combine the two name lists into one if (Names != NULL && DefaultNames != NULL) { IsOk = TecUtilStringListAppend(Names, DefaultNames); if (IsOk) { // do more processing . . . // get rid of the name lists TecUtilStringListDealloc(&Names); TecUtilStringListDealloc(&DefaultNames); } }
| Boolean_t TecUtilStringListAppendString | ( | StringList_pa | StringList, | |
| const char * | String | |||
| ) |
Append a copy of the string to the string list.
The string list expands to accommodate the additional item. See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list. | |
| String | A copy of String is appended to the string list. String may be NULL |
INTEGER*4 FUNCTION TecUtilStringListAppendString( & StringListPtr, & String) POINTER (StringListPtr, StringList) CHARACTER*(*) String
Python Syntax:
This function is not supported in Python.
Append two variable names to a string list
Boolean_t IsOk = FALSE; StringList_pa Names = NULL; Names = TecUtilStringListAlloc(); if (Names != NULL) { IsOk = TecUtilStringListAppendString(Names, "X"); IsOk = TecUtilStringListAppendString(Names, "Y"); if (IsOk) { // do some processing with the name list . . . } // get rid of the name list TecUtilStringListDealloc(&Names); }
| void TecUtilStringListClear | ( | StringList_pa | StringList | ) |
Remove all members of the string list.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list |
SUBROUTINE TecUtilStringListClear(StringListPtr) POINTER (StringListPtr, StringList)
Python Syntax:
This function is not supported in Python.
Clear a string list so that it no longer maintains any strings items.
Boolean_t ClearNames = FALSE; StringList_pa Names = NULL; // do some processing to get names . . . if (ClearNames) { TecUtilStringListClear(Names); TecUtilDialogMessageBox("All names cleared.", MessageBox_Information); }
| StringList_pa TecUtilStringListCopy | ( | StringList_pa | StringList | ) |
Return a handle to a duplicate of the specified string list and its contents.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to create a string list. |
SUBROUTINE TecUtilStringListCopy( & StringListPtr, & ResultPtr) POINTER (StringListPtr, StringList) POINTER (ResultPtr, Result)
Python Syntax:
This function is not supported in Python.
Make a copy of a string list.
StringList_pa Names = NULL; StringList_pa CopyOfNames = NULL; // do some processing to get names . . . CopyOfNames = TecUtilStringListCopy(Names); if (CopyOfNames != NULL) { // do some processing on the name list copy . . . // get rid of the name list copy TecUtilStringListDealloc(&CopyOfNames); }
| void TecUtilStringListDealloc | ( | StringList_pa * | StringList | ) |
Deallocate the string list members and handle, and set the handle to NULL.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Reference to a valid string list handle. Use TecUtilStringListAlloc() to create a string list |
SUBROUTINE TecUtilStringListDealloc(StringListPtr) POINTER (StringListPtr, StringList)
Python Syntax:
This function is not supported in Python.
Create and then deallocate a string list:
StringList_pa MyStrList = TecUtilStringListAlloc(); . . . TecUtilStringListDealloc(&MyStrList);
| StringList_pa TecUtilStringListFromNLString | ( | const char * | String | ) |
Create a string list from a newline delimited string.
A newline delimited string is a character string with newlines (\n) used to separate one substring from the next. See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| String | The newline delimited string |
SUBROUTINE TecUtilStringListFromNLString( & String, & ResultPtr) CHARACTER*(*) String POINTER (ResultPtr, Result)
Python Syntax:
This function is not supported in Python.
Given the string, Hello\n\nWorld, the function will return a string list containing 3 members: "Hello, "" (that is, an empty string), and "World."
StringList_pa List = NULL; List = TecUtilStringListFromNLString("Hello\\n\\nWorld"); if (List != NULL) { LgIndex_t I = 0; LgIndex_t Count = 0; // print each element of the string list for (I = 0, Count = TecUtilStringListGetCount(List); I < Count; I++) { String = TecUtilStringListGetString(List, I+1); if (String != NULL) { printf("Item #%d: %s\n", I+1, String); TecUtilStringDealloc(&String); } } // get rid of the list TecUtilStringListDealloc(&List); }
| LgIndex_t TecUtilStringListGetCount | ( | StringList_pa | StringList | ) |
Count the number of strings currently maintained by the string list.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to create a string list. |
INTEGER*4 FUNCTION TecUtilStringListGetCount(StringListPtr) POINTER (StringListPtr, StringList)
Python Syntax:
This function is not supported in Python.
Get each instruction used to load the current frame's data set:
StringList_pa LoaderInstructs; char *LoaderName = NULL; if (TecUtilImportGetLoaderInstr(&LoaderName,&LoaderInstructs)) { LgIndex_t ii, Count = TecUtilStringListGetCount(LoaderInstructs); for (ii = 1; ii <= Count; ii++) { char *Instruct = TecUtilStringListGetString(LoaderInstructs, ii); // Do some processing . . . TecUtilStringDealloc(&Instruct); } }
| const char* TecUtilStringListGetRawStringPtr | ( | StringList_pa | StringList, | |
| LgIndex_t | StringNumber | |||
| ) |
Return a reference to the nth string in a string list.
See the Chapter "Using String Lists", in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list | |
| StringNumber | Position of string to be copied into the string list. StringNumber must be greater than or equal to one, and less than or equal to the number of items maintained by the string list. Use TecUtilStringListGetCount() to get the number of items. |
This function is not supported in Python.
Operate on the set of files retrieved using TecUtilDialogGetFileNames().
StringList_pa FileNames = NULL; if (TecUtilDialogGetFileNames(SelectFileOption_ReadMultiFile, &FileNames, "any file", (StringList_pa)NULL, "*")) { LgIndex_t N,NumFiles; NumFiles = TecUtilStringListGetCount(FileNames); for (N = 1; N < Numfiles; N++) { const char *RawFNamePtr = TecUtilStringListGetRawStringPtr(FileNames,N); // // Do something with RawFNamePtr. DO NOT DEALLOCATE RawFNamePtr. // } // // We do however dealloc the stringlist itself. // TecUtilStringListDealloc(&FileNames); }
| char* TecUtilStringListGetString | ( | StringList_pa | StringList, | |
| LgIndex_t | StringNumber | |||
| ) |
Return a copy of the nth string from a string list.
See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list | |
| StringNumber | Position of string to be copied into the string list. StringNumber must be greater than or equal to one, and less than or equal to the number of items maintained by the string list. Use TecUtilStringListGetCount() to get the number of items |
SUBROUTINE TecUtilStringListGetString( & StringListPtr, & StringNumber, & Result, & ResultLength) POINTER (StringListPtr, StringList) INTEGER*4 StringNumber CHARACTER*(*) Result INTEGER*4 ResultLength
Python Syntax:
This function is not supported in Python.
| Boolean_t TecUtilStringListInsertString | ( | StringList_pa | StringList, | |
| LgIndex_t | StringNumber, | |||
| const char * | String | |||
| ) |
Insert a copy of the string into the nth position of the string list.
The string list expands and the items are shifted to accommodate the additional item. See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list | |
| StringNumber | Position where string is inserted in the string list. This value must be greater than or equal to one, and less than or equal to the number of items maintained by the string list. Use TecUtilStringListGetCount() to get the number of items | |
| String | A copy of String is inserted into the string list. String may be NULL |
INTEGER*4 FUNCTION TecUtilStringListInsertString( & StringListPtr, & StringNumber, & String) POINTER (StringListPtr, StringList) INTEGER*4 StringNumber CHARACTER*(*) String
Python Syntax:
This function is not supported in Python.
Insert a string at the beginning and end of an existing list.
Boolean_t IsOk = FALSE; StringList_pa Names = NULL; LgIndex_t Count = 0; // do some processing to get names . . . // insert a name at the beginning and end of the list IsOk = TecUtilStringListInsertString(Names, 1, "Very First Name"); Count = TecUtilStringListGetCount(Names); IsOk = TecUtilStringListInsertString(Names, Count+1, "Very Last Name");
| void TecUtilStringListRemoveString | ( | StringList_pa | StringList, | |
| LgIndex_t | StringNumber | |||
| ) |
Remove the nth string from the string list.
The members following the removed item are shifted to fill the vacated space. See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list. | |
| StringNumber | Number of the string to remove. Must be greater than or equal to one, and less than or equal to the number of items maintained by the string list. Use TecUtilStringListGetCount() to get the number of items |
SUBROUTINE TecUtilStringListRemoveString( & StringListPtr, & StringNumber) POINTER (StringListPtr, StringList) INTEGER*4 StringNumber
Python Syntax:
This function is not supported in Python.
Remove the first name from a name list.
StringList_pa Names = NULL; // do some processing to get names . . . TecUtilStringListRemoveString(Names, 1);
| void TecUtilStringListRemoveStrings | ( | StringList_pa | StringList, | |
| LgIndex_t | StringNumber, | |||
| LgIndex_t | Count | |||
| ) |
Remove the specified number of strings beginning at the nth string.
The members following the items removed are shifted to fill the vacated space. See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list | |
| StringNumber | Start position in the string list. Value must be greater than or equal to one, and less than or equal to the number of items maintained by the string list. Use TecUtilStringListGetCount() to get the number of strings in the string list | |
| Count | Number of items to remove from the string list. Value must be greater than or equal to one, and less than or equal to the number of items remaining, including the string at the start position. Use TecUtilStringListGetCount() to get the number of strings in the string list |
SUBROUTINE TecUtilStringListRemoveStrings( & StringListPtr, & StringNumber, & Count) POINTER (StringListPtr, StringList) INTEGER*4 StringNumber INTEGER*4 Count
Python Syntax:
This function is not supported in Python.
Remove all but the first and last item from a name list.
LgIndex_t Count = 0; StringList_pa Names = NULL; // do some processing to get names . . . Count = TecUtilStringListGetCount(Names); TecUtilStringListRemoveStrings(Names, 2, Count-2);
| Boolean_t TecUtilStringListSetString | ( | StringList_pa | StringList, | |
| LgIndex_t | StringNumber, | |||
| const char * | String | |||
| ) |
Place a copy of the specified string at the nth position in the string list.
If the position is beyond the end of the string list, the string list is resized, so that the string references between the last item of the string list in its original state and the last item of the string list in its new state are assigned NULL. If the position is within the boundaries of the original string list, the string at the specified position is replaced by the new value. See the Chapter "Using String Lists," in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list | |
| StringNumber | Item position in the string list. Value must be greater than or equal to one | |
| String | A copy of String is appended to the string list. String may be NULL |
INTEGER*4 FUNCTION TecUtilStringListSetString( & StringListPtr, & StringNumber, & String) POINTER (StringListPtr, StringList) INTEGER*4 StringNumber CHARACTER*(*) String
Python Syntax:
This function is not supported in Python.
Replace the first item of a name list with a new value and put a new item ten positions past the current last item.
LgIndex_t Count = 0; StringList_pa Names = NULL; // do some processing to get names . . . IsOk = TecUtilStringListSetString(Names, 1, "New First Name"); Count = TecUtilStringListGetCount(Names); IsOk = TecUtilStringListSetString(Names, Count+10, "New Last Name");
| void TecUtilStringListSort | ( | StringList_pa | StringList, | |
| StringListStringComparator_pf | Comparator, | |||
| ArbParam_t | ClientData | |||
| ) |
Sorts the string list by repeatedly calling the 'Comparator' function until the list is in order.
| StringList | String list to sort. | |
| Comparator | Function called to compare two string list strings or NULL for the default sort. The default sorting handles NULL elements and uses the system's strcmp utility for comparing valid strings elements. | |
| ClientData | Contextual information that is passed along to the comparator function. Client data isn't used by the default comparator and can be passed any value. For specialized comparator functions the client data is used to hold contextual information so that global variable do not have to be used. |
SUBROUTINE TecUtilStringListSort( & StringListPtr, & ComparatorPtr, & ClientDataPtr) POINTER (StringListPtr, StringList) POINTER (ComparatorPtr, Comparator) POINTER (ClientDataPtr, ClientData)
Python Syntax:
This function is not supported in Python.
Sort the variable string list using Tecplot's default comparator:
TecUtilStringListSort(MyVarList, NULL, 0);
Sort the variable string list using own own comparator function. We pass some client data to our own comparator function simply to show how to use it. In this case all the client data is used for is to keep track of the number of times our comparator function was called... not very useful.
static int MyStrComparator(const char *String1, const char *String2, ArbParam_t ClientData) { int Result = 0; LgIndex_t *NumTimesCalled; REQUIRE(VALID_REF(String1) || String1 == NULL); REQUIRE(VALID_REF(String2) || String2 == NULL); NumTimesCalled = (LgIndex_t *)ClientData; (*NumTimesCalled) += 1; if (String1 != NULL && String2 != NULL) Result = strcmp(String1, String2); else if (String1 == NULL && String2 == NULL) Result = 0; else if (String1 == NULL) Result = -1; else if (String2 == NULL) Result = 1; else CHECK(FALSE); return Result; } ... // After calling TecUtilStringListSort NumTimesCalled will contain the // number of times that our comparator was called. LgIndex_t NumTimesCalled = 0; TecUtilStringListSort(MyVarList, MyStrComparator, &NumTimesCalled);
| char* TecUtilStringListToNLString | ( | StringList_pa | StringList | ) |
Return a newline delimited string representation of the string list.
A newline delimited string is a character string with newlines (\n) used to separate one substring from the next. See the chapter on "Using String Lists" in the ADK User's Manual for a discussion of string lists.
| StringList | Handle to a valid string list. Use TecUtilStringListAlloc() to allocate a string list. |
SUBROUTINE TecUtilStringListToNLString( & StringListPtr, & Result, & ResultLength) POINTER (StringListPtr, StringList) CHARACTER*(*) Result INTEGER*4 ResultLength
Python Syntax:
This function is not supported in Python.
Given a string list containing 3 members: "Hello", "", and "World", the function will return the following string: "Hello\\n\\nWorld".
StringList_pa List = NULL; List = TecUtilStringListAlloc(); if (List != NULL) { // add items to the string list TecUtilStringListAppendString(List, "Hello"); TecUtilStringListAppendString(List, ""); TecUtilStringListAppendString(List, "World"); //print the newline separated string representation String = TecUtilStringListToNLString(List); if (String != NULL) { printf("%s\n", String); TecUtilStringDealloc(&String); } // get rid of the list TecUtilStringListDealloc(&List); }
| LgIndex_t TecUtilTecAux | ( | char * | Name, | |
| char * | Value | |||
| ) |
Writes the name/value data set auxiliary data pair to the data file.
| Name | Name of the data set auxiliary item | |
| Value | The value associates with the named data set auxiliary data item |
INTEGER*4 FUNCTION TecUtilTecAux( & Name, & Value) CHARACTER*(*) Name CHARACTER*(*) Value
Python Syntax:
Results = TecUtil.TecAux(Name, Value)
Input:
Name string
Value string
Output:
Results[0] ReturnVal int
Writes an array of data to the data file.
If the ZoneFormat specified in TecUtilTecZneX() or TecUtilTecZne() is BLOCK, the array must be dimensioned (IMax, JMax, KMax, NumVars) (FORTRAN syntax, where the first element moves the fastest).
If the ZoneFormat is POINT, the data must be dimensioned (NumVars, IMax, JMax, KMax).
If the ZoneFormat is FEBLOCK, then the data must be dimensioned (NumPts, NumVars).
If the ZoneFormat is FEPOINT, then the data must be dimensioned (NumVars,NumPts).
TecUtilTecDat() allows you to write your data in a piecemeal fashion in case it is not contained in one contiguous block in your program. Enough calls to TECDAT must be made that the correct number of values are written for each zone and that the aggregate order for the data is correct.
In the above summary, NumVars is based on the number of variable names supplied in a previous call to TecUtilTecIni() or TecUtilTecIniX().
| N | Handle to an integer value specifying number of values to write | |
| FieldData_Array | Array of single or double precision data values | |
| IsDouble | Handle to the integer flag stating whether the array Data is single (0) or double (1) precision. |
INTEGER*4 FUNCTION TecUtilTecDat( & N, & FieldData_Array, & IsDouble) INTEGER*4 N POINTER (FieldData_ArrayPtr, FieldData_Array) INTEGER*4 IsDouble
Python Syntax:
This function is not supported in Python.
| LgIndex_t TecUtilTecEnd | ( | void | ) |
Must be called to close out the current data file.
There must be a corresponding TecUtilTecEnd() for each TecUtilTecIni() or TecUtilTecIniX().
INTEGER*4 FUNCTION TecUtilTecEnd()
Python Syntax:
Results = TecUtil.TecEnd()
Output:
Results[0] ReturnVal int
Writes the face neighbor connections to the data file.
For polygonal and polyhedral zones, use TecUtilTecPoly().
| FaceConnections | Array of face connections dimensioned by the number of face neighbor connections (supplied in the call to TecUtilTecZneX()) multiplied by the number of values needed for each connection. See the ADK reference manual for details. |
INTEGER*4 FUNCTION TecUtilTecFace(FaceConnections) INTEGER*4 FaceConnections
Python Syntax:
Results = TecUtil.TecFace(FaceConnections)
Input:
FaceConnections list of ints
Output:
Results[0] ReturnVal int
Switch output context to a different file.
Each time TecUtilTecIni() or TecUtilTecIniX() iscalled, a new file "context" is switched to. This allows you to write multiple data files at the same time.
| F | Handle to integer specifying file number to switch to |
INTEGER*4 FUNCTION TecUtilTecFil(F) INTEGER*4 F
Python Syntax:
Results = TecUtil.TecFil(F)
Input:
F list of ints
Output:
Results[0] ReturnVal int
| void TecUtilTecForeign | ( | LgIndex_t * | OutputForeignByteOrder | ) |
Sets the byte ordering request for subsequent calls to TecUtilTecIni().
The byte ordering request will remain in effect until changed by another call to this function. Calling this function after a call to TecUtilTecIni() has no effect on any files opened by previous calls to TecUtilTecIni() and only effects future files created by TecUtilTecIni().
| OutputForeignByteOrder | Reference to a boolean value indicating if subsequent calls to TecUtilTecIni() should create files with foreign or native byte ordering. |
SUBROUTINE TecUtilTecForeign( & OutputForeignByteOrder) INTEGER*4 OutputForeignByteOrder
Python Syntax:
Results = TecUtil.TecForeign(OutputForeignByteOrder)
Input:
OutputForeignByteOrder list of ints
Output:
Results[0] ReturnVal NONE
| LgIndex_t TecUtilTecGeo | ( | double * | XPos, | |
| double * | YPos, | |||
| double * | ZPos, | |||
| LgIndex_t * | PosCoordMode, | |||
| LgIndex_t * | AttachToZone, | |||
| LgIndex_t * | Zone, | |||
| LgIndex_t * | Color, | |||
| LgIndex_t * | FillColor, | |||
| LgIndex_t * | IsFilled, | |||
| LgIndex_t * | GeomType, | |||
| LgIndex_t * | LinePattern, | |||
| double * | PatternLength, | |||
| double * | LineThickness, | |||
| LgIndex_t * | NumEllipsePts, | |||
| LgIndex_t * | ArrowheadStyle, | |||
| LgIndex_t * | ArrowheadAttachment, | |||
| double * | ArrowheadSize, | |||
| double * | ArrowheadAngle, | |||
| LgIndex_t * | Scope, | |||
| LgIndex_t * | NumSegments, | |||
| LgIndex_t * | NumSegPts, | |||
| float * | XGeomData, | |||
| float * | YGeomData, | |||
| float * | ZGeomData, | |||
| const char * | MacroFunctionCommand | |||
| ) |
Write a geometry to a binary tecplot datafile.
This function mimicks the TecGeo function that is part of the TecIO library.
| MacroFunctionCommand | Macro command to execute when user cntrl-clicks on the geometry. Set to NULL to not use | |
| XPos | X-Anchor position of the geometry | |
| YPos | Y-Anchor position of the geometry | |
| ZPos | Z-Anchor position of the geometry | |
| PosCoordMode | Position coordinate mode of the geometry. Zero=Grid, 1=Frame, 6=Grid3D | |
| AttachToZone | Flag specifying whether or not to attach the geometry to a zone. Zero=Attach, one=Don't attach | |
| Zone | Zone to attach to | |
| Color | Color of the geometry. (0-63) | |
| FillColor | Fill Color of the geometry. (0-63) | |
| IsFilled | Flag specifying whether or not to fill the geometry. 1=Fill Zero=Don't fill | |
| GeomType | Type of geometry. Zero=2D line segments, 1=Rectangle, 2=Square, 3=Circle, 4=Ellipse, 5=3D line segments | |
| LinePattern | Line pattern. Zero=Solid, 1=Dashed, 2=DashDot, 3=Dotted, 4=LongDash, 5=DashDotDot | |
| PatternLength | Line Pattern Length in frame units (0 < L <= 100.0). | |
| LineThickness | Line thickness in frame units (0 < L <= 100.0) | |
| NumEllipsePts | Number of points to use to draw ellipses or circles | |
| ArrowheadStyle | Style of arrowhead. Zero=Plain, 1=Filled, 2=Hollow | |
| ArrowheadAttachment | How to attach the arrowhead(s). Zero=None, 1=Beginning, 2=End, 3=Both. | |
| ArrowheadSize | Size of the arrowhead in frame units | |
| ArrowheadAngle | Angle of the arrowhead in degrees | |
| Scope | Scope for the geometry. Zero=Global, 1=Local | |
| NumSegments | Number of polyline segments in the geometry | |
| NumSegPts | Array of the number of points in each polyline segment | |
| XGeomData | Array of X-values for the geometry | |
| YGeomData | Array of Y-values for the geometry | |
| ZGeomData | Array of Z-values for the geometry |
INTEGER*4 FUNCTION TecUtilTecGeo( & XPos, & YPos, & ZPos, & PosCoordMode, & AttachToZone, & Zone, & Color, & FillColor, & IsFilled, & GeomType, & LinePattern, & PatternLength, & LineThickness, & NumEllipsePts, & ArrowheadStyle, & ArrowheadAttachment, & ArrowheadSize, & ArrowheadAngle, & Scope, & NumSegments, & NumSegPts, & XGeomData, & YGeomData, & ZGeomData, & MacroFunctionCommand) REAL*8 XPos REAL*8 YPos REAL*8 ZPos INTEGER*4 PosCoordMode INTEGER*4 AttachToZone INTEGER*4 Zone INTEGER*4 Color INTEGER*4 FillColor INTEGER*4 IsFilled INTEGER*4 GeomType INTEGER*4 LinePattern REAL*8 PatternLength REAL*8 LineThickness INTEGER*4 NumEllipsePts INTEGER*4 ArrowheadStyle INTEGER*4 ArrowheadAttachment REAL*8 ArrowheadSize REAL*8 ArrowheadAngle INTEGER*4 Scope INTEGER*4 NumSegments INTEGER*4 NumSegPts REAL*4 XGeomData REAL*4 YGeomData REAL*4 ZGeomData CHARACTER*(*) MacroFunctionCommand
Python Syntax:
Results = TecUtil.TecGeo(XPos, YPos, ZPos, PosCoordMode, AttachToZone, Zone, Color, FillColor, IsFilled, GeomType, LinePattern, PatternLength, LineThickness, NumEllipsePts, ArrowheadStyle, ArrowheadAttachment, ArrowheadSize, ArrowheadAngle, Scope, NumSegments, NumSegPts, XGeomData, YGeomData, ZGeomData, MacroFunctionCommand)
Input:
XPos list of doubles
YPos list of doubles
ZPos list of doubles
PosCoordMode list of ints
AttachToZone list of ints
Zone list of ints
Color list of ints
FillColor list of ints
IsFilled list of ints
GeomType list of ints
LinePattern list of ints
PatternLength list of doubles
LineThickness list of doubles
NumEllipsePts list of ints
ArrowheadStyle list of ints
ArrowheadAttachment list of ints
ArrowheadSize list of doubles
ArrowheadAngle list of doubles
Scope list of ints
NumSegments list of ints
NumSegPts list of ints
XGeomData list of doubles
YGeomData list of doubles
ZGeomData list of doubles
MacroFunctionCommand string
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecGeoX | ( | ArgList_pa | ArgList | ) |
Writes the geometry item to the data file.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_GEOMTYPE
SV_NUMGEOSEGMENTS
SV_NUMSEGPTS
SV_ARROWHEADSTYLE
SV_ARROHEADATTACHMENT
SV_ARROWHEADSIZE
SV_ARROWHEADANGLE
SV_NUMELLIPSEPTS
SV_XGEOMDATA
SV_YGEOMDATA
SV_ZGEOMDATA
SV_XPOS
SV_YPOS
SV_ZPOS
SV_POSITIONCOORDSYS
SV_ATTACHTOZONE
SV_ZONE
SV_COLOR
SV_FILLCOLOR
SV_ISFILLED
SV_LINEPATTERN
SV_PATTERNLENGTH
SV_LINETHICKNESS
SV_SCOPE
SV_CLIPPING
SV_MACROFUNCTIONCOMMAND
|
INTEGER*4 FUNCTION TecUtilTecGeoX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.TecGeoX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecIni | ( | const char * | Title, | |
| const char * | Variables, | |||
| const char * | FName, | |||
| const char * | ScratchDir, | |||
| LgIndex_t * | Debug, | |||
| LgIndex_t * | VIsDouble | |||
| ) |
Initializes the process of writing a binary data file.
This must be called first before any other TecUtilTecXxx calls are made. You may write to multiple files by calling TecUtilTecIni() more than once. Each time TecUtilTecIni() is called, a new file is opened. Use TecUtilTecFil() to switch between files.
| Title | Title of the data set. Must be NULL terminated | |
| Variables | List of variable names. Separate variable names with a newline, comma or space. If a newline is detected anywhere in the string it is used as the separator otherwise if a comma is detected then the comma is the separator otherwise a space is used. The string must be NULL terminated | |
| FName | Name of the file to create. Must be NULL terminated | |
| ScratchDir | Name of the directory to put the scratch file. Must be NULL terminated | |
| Debug | Handle to the integer flag for debugging. Set to 0 for no debugging or 1 to debug | |
| VIsDouble | Handle to the integer flag for specifying whether field data generated in future calls to TecUtilTecIni() are to be written in single or double precision. Set to 0 for single precision or 1 for double |
INTEGER*4 FUNCTION TecUtilTecIni( & Title, & Variables, & FName, & ScratchDir, & Debug, & VIsDouble) CHARACTER*(*) Title CHARACTER*(*) Variables CHARACTER*(*) FName CHARACTER*(*) ScratchDir INTEGER*4 FileType INTEGER*4 Debug INTEGER*4 VIsDouble
Python Syntax:
Results = TecUtil.TecIni(Title, Variables, FName, ScratchDir, Debug, VIsDouble)
Input:
Title string
Variables string
FName string
ScratchDir string
Debug list of ints
VIsDouble list of ints
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecIniX | ( | ArgList_pa | ArgList | ) |
Initializes the process of writing a binary data file.
This must be called first before any other TecUtilTecXxx calls are made. You may write to multiple files by calling TecUtilTecIniX() more than once. Each time TecUtilTecIniX() is called, a new file is opened. Use TecUtilTecFil() to switch between files.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_DATASETTITLE
SV_VARIABLES
SV_FILENAME
SV_SCRATCHDIR
SV_DATAFILETYPE
SV_DEBUG
SV_VISDOUBLE
|
INTEGER*4 FUNCTION TecUtilTecIniX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.TecIniX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecLab | ( | const char * | S | ) |
Write a set of custom labels to the data file.
| S | Character string of custom labels. Separate labels by a comma or space. For example, a set of custom labels for each day of the week is:"Sun Mon Tue Wed Thu Fri Sat." |
INTEGER*4 FUNCTION TecUtilTecLab(S) CHARACTER*(*) S
Python Syntax:
Results = TecUtil.TecLab(S)
Input:
S string
Output:
Results[0] ReturnVal int
Writes an array of node data to the binary data file.
This is the connectivity list for finite element zones. For polygonal and polyhedral zones, use TecUtilTecPoly().
| NData_Array | Array of integers. This is the connectivity list, dimensioned (m,JMax) (m moving fastest), where m is 3 for triangles, 4 for quads and tets, and 8 for bricks. |
INTEGER*4 FUNCTION TecUtilTecNod(NData_Array) INTEGER*4 NData_Array
Python Syntax:
Results = TecUtil.TecNod(NData_Array)
Input:
NData_Array list of ints
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecPoly | ( | LgIndex_t * | FaceNodeCounts, | |
| LgIndex_t * | FaceNodes, | |||
| LgIndex_t * | FaceLeftElems, | |||
| LgIndex_t * | FaceRightElems, | |||
| LgIndex_t * | FaceBndryConnectionCounts, | |||
| LgIndex_t * | FaceBndryConnectionElems, | |||
| EntIndex_t * | FaceBndryConnectionZones | |||
| ) |
Writes the face map for polygonal and polyhedral zones to the data file.
| FaceNodeCounts | Array of counts of nodes in the FaceNodes array dimensioned by NumFaces. This array is NULL for polygonal zones since each face always has 2 nodes. | |
| FaceNodes | Array of 1-based nodes for each face dimensioned by TotalNumFaceNodes. | |
| FaceLeftElems | Array of 1-based left elements for each face dimensioned by NumFaces. Boundary faces use a negative value which is the (negated) offset into the FaceBndryConnectionCounts array. The boundary face value must be <= TotalNumBndryFaces. TECUTIL_NO_NEIGHBORING_ELEM = 0 indicates that there is no left element for the face. | |
| FaceRightElems | Array of 1-based right elements for each face dimensioned by NumFaces. See description of FaceLeftElems for more details. | |
| FaceBndryConnectionCounts | Array of boundary connection counts for each boundary face dimensioned by TotalNumBndryFaces used to access the FaceBndryConnectionElems and FaceBndryConnectionZones arrays. If the number of elements for a face (F) is 0, then there is no neighboring element. This is NULL if TotalNumBndryFaces = 0. | |
| FaceBndryConnectionElems | Array dimensioned by TotalNumBndryConnections of neighboring elements of any boundary faces. It is referenced through the FaceBndryConnectionCounts array. A value of TECUTIL_NO_NEIGHBORING_ELEM = 0 indicates that there is no element on part of the face. This is NULL if TotalNumBndryFaces = 0. | |
| FaceBndryConnectionZones | Array dimensioned by TotalNumBndryConnections of zones for each neighboring element of any boundary faces referenced through the FaceBndryConnectionCounts array. A value of TECUTIL_NO_NEIGHBORING_ZONE = 0 indicates the current zone. This is NULL if TotalNumBndryFaces = 0. |
INTEGER*4 FUNCTION TecUtilTecPoly(FaceNodeCounts, FaceNodes, FaceLeftElems, FaceRightElems, FaceBndryConnectionCounts, FaceBndryConnectionElems, FaceBndryConnectionZones) INTEGER*4 *FaceNodeCounts, INTEGER*4 *FaceNodes, INTEGER*4 *FaceLeftElems, INTEGER*4 *FaceRightElems, INTEGER*4 *FaceBndryConnectionCounts, INTEGER*4 *FaceBndryConnectionElems, INTEGER*2 *FaceBndryConnectionZones
Python Syntax:
Results = TecUtil.TecPoly(FaceNodeCounts, FaceNodes, FaceLeftElems, FaceRightElems, FaceBndryConnectionCounts, FaceBndryConnectionElems, FaceBndryConnectionZones)
Input:
FaceNodeCounts list of ints
FaceNodes list of ints
FaceLeftElems list of ints
FaceRightElems list of ints
FaceBndryConnectionCounts list of ints
FaceBndryConnectionElems list of ints
FaceBndryConnectionZones list of ints
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecTxt | ( | double * | XPos, | |
| double * | YPos, | |||
| LgIndex_t * | PosCoordMode, | |||
| LgIndex_t * | AttachToZone, | |||
| LgIndex_t * | Zone, | |||
| LgIndex_t * | Font, | |||
| LgIndex_t * | FontHeightUnits, | |||
| double * | FontHeight, | |||
| LgIndex_t * | BoxType, | |||
| double * | BoxMargin, | |||
| double * | BoxLineThickness, | |||
| LgIndex_t * | BoxColor, | |||
| LgIndex_t * | BoxFillColor, | |||
| double * | Angle, | |||
| LgIndex_t * | Anchor, | |||
| double * | LineSpacing, | |||
| LgIndex_t * | TextColor, | |||
| LgIndex_t * | Scope, | |||
| const char * | Text, | |||
| const char * | MacroFunctionCommand | |||
| ) |
Write a text label to a binary tecplot data file.
This function mimicks the TECTXT function that is part of the TecIO library.
| XPos | X-Anchor position of the text | |
| YPos | Y-Anchor position of the text | |
| PosCoordMode | Coordinate system used by the anchor position 0=Grid, 1=Frame, 6=Grid3D | |
| AttachToZone | Flag specifying whether or not to attach the text to a zone. One=Attach 0=Don't attach | |
| Zone | Zone to attach to | |
| Font | Font to use. Zero=Helv, 1=HelvBold, 2=Greek, 3=Math, 4=UserDef, 5=Times, 6=TimesItalic, 7=TimesBold, 8=TimesItalicBold, 9=Courier, 10=CourierBold | |
| FontHeightUnits | Units for the font height. Zero=Grid, 1=Frame, 2=Point | |
| FontHeight | Height of the text | |
| BoxType | Type of box to use. Zero=None, 1=Filled, 2=Hollow | |
| BoxMargin | Box Margin in percentage of the font height | |
| BoxLineThickness | Line thickness of the box in frame units. | |
| TextColor | Color of the text, 0=Black, 1=Red, 2=Green, 3=Blue, 4=Cyan, 5=Yellow, 6=Purple, 7=White, 8-64 are Custom colors. | |
| BoxColor | Color of the text box outline. 0=Black, 1=Red, 2=Green, 3=Blue, 4=Cyan, 5=Yellow, 6=Purple, 7=White, 8-64 are Custom colors. | |
| BoxFillColor | Color of the text box interior. 0=Black, 1=Red, 2=Green, 3=Blue, 4=Cyan, 5=Yellow, 6=Purple, 7=White, 8-64 are Custom colors. | |
| Angle | Angle of the text in degrees | |
| Anchor | Anchor position of the text. Zero=Left, 1=Center, 2=Right, 3=MidLeft, 4=MidCenter, 5=MidRight, 6=HeadLeft, 7=HeadCenter, 8=HeadRight | |
| LineSpacing | Line spacing of the text | |
| Scope | Scope for the text. Zero=Global, 1=Local | |
| Text | Actual text string | |
| MacroFunctionCommand | Macro command to execute when user cntrl-clicks on the text label. Set to NULL to not use. |
INTEGER*4 FUNCTION TecUtilTecTxt( & XPos, & YPos, & PosCoordMode, & AttachToZone, & Zone, & Font, & FontHeightUnits, & FontHeight, & BoxType, & BoxMargin, & BoxLineThickness, & BoxColor, & BoxFillColor, & Angle, & Anchor, & LineSpacing, & TextColor, & Scope, & Text, & MacroFunctionCommand) REAL*8 XPos REAL*8 YPos INTEGER*4 PosCoordMode INTEGER*4 AttachToZone INTEGER*4 Zone INTEGER*4 Font INTEGER*4 FontHeightUnits REAL*8 FontHeight INTEGER*4 BoxType REAL*8 BoxMargin REAL*8 BoxLineThickness INTEGER*4 BoxColor INTEGER*4 BoxFillColor REAL*8 Angle INTEGER*4 Anchor REAL*8 LineSpacing INTEGER*4 TextColor INTEGER*4 Scope CHARACTER*(*) Text CHARACTER*(*) MacroFunctionCommand
Python Syntax:
Results = TecUtil.TecTxt(XPos, YPos, PosCoordMode, AttachToZone, Zone, Font, FontHeightUnits, FontHeight, BoxType, BoxMargin, BoxLineThickness, BoxColor, BoxFillColor, Angle, Anchor, LineSpacing, TextColor, Scope, Text, MacroFunctionCommand)
Input:
XPos list of doubles
YPos list of doubles
PosCoordMode list of ints
AttachToZone list of ints
Zone list of ints
Font list of ints
FontHeightUnits list of ints
FontHeight list of doubles
BoxType list of ints
BoxMargin list of doubles
BoxLineThickness list of doubles
BoxColor list of ints
BoxFillColor list of ints
Angle list of doubles
Anchor list of ints
LineSpacing list of doubles
TextColor list of ints
Scope list of ints
Text string
MacroFunctionCommand string
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecTxtX | ( | ArgList_pa | ArgList | ) |
Writes the text item to the data file.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_TEXT
SV_XPOS
SV_YPOS
SV_ZPOS
SV_POSITIONCOORDSYS
SV_ATTACHZONE
SV_ZONE
SV_FONT
SV_SIZEUNITS
SV_HEIGHT
SV_BOXTYPE
SV_MARGIN
SV_LINETHICKNESS
SV_COLOR
SV_FILLCOLOR
SV_ANGLE
SV_ANCHOR
SV_LINESPACING
SV_TEXTCOLOR
SV_SCOPE
SV_CLIPPING
SV_MACROFUNCTIONCOMMAND
|
INTEGER*4 FUNCTION TecUtilTecTxtX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.TecTxtX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecUsr | ( | const char * | S | ) |
Add a user-defined record, in the form of a character string, to the Tecplot data file.
Tecplot currently ignores this record when reading Tecplot data files.
| S | String used in the user-defined record |
INTEGER*4 FUNCTION TecUtilTecUsr(S) CHARACTER*(*) S
Python Syntax:
Results = TecUtil.TecUsr(S)
Input:
S string
Output:
Results[0] ReturnVal int
This function is comparable to $!TECUSR, a Tecplot macro command. Please refer to the examples given for $!TECUSR in the Tecplot Reference Manual.
Insert a user-defined record with the string "Hi Mom" into the data file. TecUtilTecUsr("Hi Mom");
Writes the name/value variable auxiliary data pair to the data file.
| Var | Variable number assoicated with the auxiliary data. | |
| Name | Name of the variable auxiliary data item. | |
| Value | The value associated with the named variable auxiliary data item. |
INTEGER*4 FUNCTION TecUtilTecVAux( & Var, & Name, & Value) INTEGER*4 Var CHARACTER*(*) Name CHARACTER*(*) Value
Python Syntax:
Results = TecUtil.TecVAux(Var, Name, Value)
Input:
Var list of ints
Name string
Value string
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecZAux | ( | char * | Name, | |
| char * | Value | |||
| ) |
Writes the name/value zone auxiliary data pair to the data file.
| Name | Name of the zone auxiliary data item. | |
| Value | The value associated with the named zone auxiliary data item |
INTEGER*4 FUNCTION TecUtilTecZAux( & Name, & Value) CHARACTER*(*) Name CHARACTER*(*) Value
Python Syntax:
Results = TecUtil.TecZAux(Name, Value)
Input:
Name string
Value string
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecZne | ( | const char * | ZoneTitle, | |
| LgIndex_t * | IMx, | |||
| LgIndex_t * | JMx, | |||
| LgIndex_t * | KMx, | |||
| const char * | ZFormat, | |||
| const char * | DupList | |||
| ) |
Writes header information about the next zone to be added to the data file.
After TECZNE is called, you must call TECDAT one or more times (and then call TECNOD if the data format is FEBLOCK or FEPOINT).
| ZoneTitle | Title of the zone. Must be NULL terminated. | |
| IMx | Pointer to integer specifying I-Dimension of the zone. If the data is finite-element then IMx is the number of data points. | |
| JMx | Pointer to integer specifying J-Dimension of the zone if ordered otherwise the number of elements if finite element. | |
| KMx | Pointer to integer specifying K-Dimension of the zone if ordered otherwise is set according to the following: KMx for triangles is 0, quads is 1, tets is 2, and bricks is 3. Use TecUtilTecZneX() for polygonal and polyhedral zones. | |
| ZFormat | Must be set to one of BLOCK, POINT, FEBLOCK, or FEPOINT. Must be NULL terminated. | |
| DupList | This parameter specifies a list of variables to duplicate from the preceding zone. For a complete explination of the DupList parameter, see the Tecplot User's Manual. The DupList parameter is a string of the following form: "[n1,n2,...,nn][,FECONNECT]"where n1...nn are the numbers of the variables to duplicate. If the zone is finite element, you may optionally include FECONNECT, which will duplicate the connectivity list from the last zone. Notes for using the DupList parameter:1. You cannot use the DupList parameter for the first zone, since in that case there is nothing to duplicate.2. If you use FECONNECT, you cannot call TECNOD for this zone, since FECONNECT specifies that the entire connectivity list from the previous zone will be duplicated.3. For finite-element zones, you can pass "FECONNECT" to duplicate only the connectivity list.4. You may pass either NULL or a zero length string if you are not using this parameter. |
INTEGER*4 FUNCTION TecUtilTecZne( & ZoneTitle, & IMx, & JMx, & KMx, & ZFormat, & DupList) CHARACTER*(*) ZoneTitle INTEGER*4 IMx INTEGER*4 JMx INTEGER*4 KMx CHARACTER*(*) ZFormat CHARACTER*(*) DupList
Python Syntax:
Results = TecUtil.TecZne(ZoneTitle, IMx, JMx, KMx, ZFormat, DupList)
Input:
ZoneTitle string
IMx list of ints
JMx list of ints
KMx list of ints
ZFormat string
DupList string
Output:
Results[0] ReturnVal int
| LgIndex_t TecUtilTecZneX | ( | ArgList_pa | ArgList | ) |
Writes the zone to the data file.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_TITLE
SV_ZONETYPE
SV_IMAX
SV_JMAX
SV_KMAX
SV_SOLUTIONTIME
SV_STRANDID
SV_PARENTZONE
SV_ISBLOCK
SV_NUMFACECONNECTIONS
SV_FACENEIGHBORMODE
SV_NUMFACENODES
SV_NUMFACEBNDRYFACES
SV_NUMFACEBNDRYCONNS
SV_PASSIVEVARLIST
SV_VALUELOCATION
SV_VARSHAREZONELIST
SV_CONNECTSHAREZONE
|
INTEGER*4 FUNCTION TecUtilTecZneX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.TecZneX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal int
| Boolean_t TecUtilTransformCoordinatesX | ( | ArgList_pa | ArgList | ) |
Transform Coordinates.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_CREATENEWVARIABLES
SV_THETAVAR
SV_RVAR
SV_PSIVAR
SV_XVAR
SV_YVAR
SV_ZVAR
SV_ZONESET
SV_ANGLESPEC
SV_TRANSFORMATION
|
INTEGER*4 FUNCTION TecUtilTransformCoordinatesX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.TransformCoordinatesX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
Transform spherical coordinate variables (varibles 1, 2 and 3) to rectangular (cartesian) coordinate variables.
ArgList_pa ArgList; Set_pa ZoneSet = TecUtilSetAlloc(TRUE); TecUtilSetAddMember(ZoneSet, 1, TRUE); TecUtilLockStart(AddOnID); ArgList = TecUtilArgListAlloc(); TecUtilArgListAppendInt(ArgList, SV_THETAVAR, (LgIndex_t)1); TecUtilArgListAppendInt(ArgList, SV_RVAR, (LgIndex_t)2); TecUtilArgListAppendInt(ArgList, SV_PSIVAR, (LgIndex_t)3); TecUtilArgListAppendInt(ArgList, SV_XVAR, (LgIndex_t)4); TecUtilArgListAppendInt(ArgList, SV_YVAR, (LgIndex_t)5); TecUtilArgListAppendInt(ArgList, SV_ZVAR, (LgIndex_t)6); TecUtilArgListAppendSet(ArgList, SV_ZONESET, ZoneSet); TecUtilArgListAppendInt(ArgList, SV_ANGLESPEC, (LgIndex_t)ThetaMode_Arbitrary); TecUtilArgListAppendInt(ArgList, SV_TRANSFORMATION, (LgIndex_t)Transform_SphericalToRect); TecUtilTransformCoordinatesX(ArgList); TecUtilArgListDealloc(&ArgList); TecUtilSetDealloc(&ZoneSet); TecUtilLockFinish(AddOnID);
| Boolean_t TecUtilTriangulate | ( | Set_pa | SourceZones, | |
| Boolean_t | DoBoundary, | |||
| Set_pa | BoundaryZones, | |||
| Boolean_t | IncludeBoundaryPts, | |||
| LgIndex_t * | NumCoincidentPts, | |||
| double | TriangleKeepFactor | |||
| ) |
Create a new zone by forming triangles from data points in existing zones.
| SourceZones | Set of zones to triangulate | |
| DoBoundary | If TRUE, BoundaryZones must specify one or more I-ordered zones that define the boundaries across which no triangles can be created | |
| BoundaryZones | Set of zones for DoBoundary. Required if DoBoundary is TRUE, ignored otherwise | |
| IncludeBoundaryPts | TRUE if you also want the boundary points to be used to create triangles | |
| NumCoincidentPts | Returns the number of coincident points | |
| TriangleKeepFactor | A number between zero and 0.5. The smaller the number, the more likely it will be that highly obtuse triangles will be created opening toward the outside of the triangulated zone |
INTEGER*4 FUNCTION TecUtilTriangulate( & SourceZonesPtr, & DoBoundary, & BoundaryZonesPtr, & IncludeBoundaryPts, & NumCoincidentPts, & TriangleKeepFactor) POINTER (SourceZonesPtr, SourceZones) INTEGER*4 DoBoundary POINTER (BoundaryZonesPtr, BoundaryZones) INTEGER*4 IncludeBoundaryPts INTEGER*4 NumCoincidentPts REAL*8 TriangleKeepFactor
Python Syntax:
Results = TecUtil.Triangulate(SourceZones, DoBoundary, BoundaryZones, IncludeBoundaryPts, TriangleKeepFactor)
Input:
SourceZones sequence of ints
DoBoundary boolean
BoundaryZones sequence of ints
IncludeBoundaryPts boolean
TriangleKeepFactor double
Output:
Results[0] ReturnVal boolean
Results[1] NumCoincidentPts int
Create a zone by triangulating data points from zones 1 and 2:
LgIndex_t NumCoincidentPts; Set_pa set = TecUtilSetAlloc(FALSE); TecUtilSetAddMember(set,1,FALSE); TecUtilSetAddMember(set,2,FALSE); TecUtilTriangulate(set,FALSE,NULL,FALSE,&NumCoincidentPts,0.25); TecUtilSetDealloc(&set);
Get the set of enabled variables.
Variables are enabled/disabled when they are read in. There must be a data set attached to the current frame.
| EnabledVars | Set of enabled variables. Must not be NULL |
INTEGER*4 FUNCTION TecUtilVarGetEnabled(EnabledVarsPtr) POINTER (EnabledVarsPtr, EnabledVars)
Python Syntax:
Results = TecUtil.VarGetEnabled()
Output:
Results[0] ReturnVal boolean
Results[1] EnabledVars sequence of ints
Get the set of enabled variables. It is assumed that a data set has been created:
Set_pa set = NULL; TecUtilVarGetEnabled(&set); // Do something with set TecUtilSetDealloc(&set);
| void TecUtilVarGetMinMax | ( | EntIndex_t | Var, | |
| double * | VarMin, | |||
| double * | VarMax | |||
| ) |
Gets the minimum and maximum values of a variable.
| Var | Index of the variable. Must be greater than zero and the variable must be enabled | |
| VarMin | Receives the minimum value of the variable. Must not be NULL | |
| VarMax | Receives the maximum value of the variable. Must not be NULL |
SUBROUTINE TecUtilVarGetMinMax( & Var, & VarMin, & VarMax) INTEGER*4 Var REAL*8 VarMin REAL*8 VarMax
Python Syntax:
Results = TecUtil.VarGetMinMax(Var)
Input:
Var int
Output:
Results[0] VarMin double
Results[1] VarMax double
Get the minimum and maximum values of the first variable in a data set:
double VarMin,VarMax; TecUtilVarGetMinMax(1,&VarMin,&VarMax);
| Boolean_t TecUtilVarGetName | ( | EntIndex_t | VarNum, | |
| char ** | VName | |||
| ) |
Get the name of a variable in the data set attached to the current frame.
There must be a data set attached to the current frame.
| VarNum | Number of the variable for which to get the variable name information. Must be greater than zero, and the variable must be enabled | |
| VName | Receives the name of the specified variable. Must not be NULL. You must free this string with TecUtilStringDealloc(). |
INTEGER*4 FUNCTION TecUtilVarGetName( & VarNum, & VName, & VNameLength) INTEGER*4 VarNum CHARACTER*(*) VName INTEGER*4 VNameLength
Python Syntax:
Results = TecUtil.VarGetName(VarNum)
Input:
VarNum int
Output:
Results[0] ReturnVal boolean
Results[1] VName string
Get the name of the first variable:
char buffer[100]; VarName_t Name; TecUtilVarGetName(1,&Name); sprintf(buffer,"The name of the first variable is %s",Name); TecUtilStringDealloc(&Name);
| EntIndex_t TecUtilVarGetNumByAssignment | ( | char | Var | ) |
Gets the number (that is, the index) of a variable based on the variable assignment.
| Var | Variable to get. The frame mode must be 2-D or 3-D.If the frame mode is 2-D, select one of 'X', 'Y', 'U', 'V', 'B', 'C', or 'S'.If the frame mode is 3-D, select one of 'X','Y','Z','U','V','W', 'B', 'C', or 'S'Table 0-1. Variable assignment identifiers (Var) and descriptions. | |
| Var | Description'X' X-axis variable'Y' Y-axis variable'Z' Z-axis variable'U' U-velocity variable'V' V-velocity variable'W' W-velocity variable'B' Blanking variable'C' Contouring variable'S' Scatter sizing variable |
INTEGER*4 FUNCTION TecUtilVarGetNumByAssignment(Var) CHARACTER*(*) Var
Python Syntax:
Results = TecUtil.VarGetNumByAssignment(Var)
Input:
Var int
Output:
Results[0] ReturnVal int
Get the index of the 'X' variable:
// frame mode must be 2-D or 3-D EntIndex_t i = TecUtilVarGetNumByAssignment('X');
| EntIndex_t TecUtilVarGetNumByName | ( | const char * | VarName | ) |
Gets the number (that is, the index) of a variable based on variable name.
| VarName | Name of the variable. Must not be NULL |
INTEGER*4 FUNCTION TecUtilVarGetNumByName(VarName) CHARACTER*(*) VarName
Python Syntax:
Results = TecUtil.VarGetNumByName(VarName)
Input:
VarName string
Output:
Results[0] ReturnVal int
Get the index of the variable Rainfall:
EntIndex_t i = TecUtilVarGetNumByName("Rainfall");
| EntIndex_t TecUtilVarGetNumByUniqueID | ( | UniqueID_t | UniqueID | ) |
Gets a variable number, given a unique ID.
| UniqueID | Unique ID of the variable |
INTEGER*4 FUNCTION TecUtilVarGetNumByUniqueID(UniqueID) INTEGER*4 UniqueID
Python Syntax:
Results = TecUtil.VarGetNumByUniqueID(UniqueID)
Input:
UniqueID long
Output:
Results[0] ReturnVal int
Get a variable number from a unique ID:
{
extern UniqueID_t ID; // previously initialized
TecUtilLockStart(AddOnID);
if ( TecUtilDataSetIsAvailable() )
{
EntIndex_t VarNum = TecUtilVarGetNumByUniqueID(ID);
if (VarNum != TECUTILBADID)
{
...
}
}
TecUtilLockFinish(AddOnID);
}
| UniqueID_t TecUtilVarGetUniqueID | ( | EntIndex_t | Var | ) |
Gets a unique ID for a variable.
A unique ID is an integer that uniquely identifies a variable. An addon can use these IDs to internally keep track of a set of variables. TecUtilVarGetNumByUniqueID() can be used to convert between a unique ID and a variable number.
| Var | Variable number to query. |
INTEGER*4 FUNCTION TecUtilVarGetUniqueID(Var) INTEGER*4 Var
Python Syntax:
Results = TecUtil.VarGetUniqueID(Var)
Input:
Var int
Output:
Results[0] ReturnVal long
Get the unique ID for variable 1:
{
TecUtilLockStart(AddOnID);
if ( TecUtilDataSetIsAvailable() && TecUtilVarIsEnabled(1) )
{
UniqueID_t ID = TecUtilVarGetUniqueID(1);
...
}
TecUtilLockFinish(AddOnID);
}
| Boolean_t TecUtilVariableIsLocked | ( | EntIndex_t | Var, | |
| VarLockMode_e * | VarLockMode, | |||
| char ** | LockOwner | |||
| ) |
Indicates if the variable is locked and optionally the mode in which it was locked and the current lock owner.
| Var | Offset of the variable in question. | |
| VarLockMode | Reference to a variable locking mode enumeration. If NULL the argument is ignored otherwise the current locking mode is placed into the location pointed to by the reference. | |
| LockOwner | Reference to a lock owner string pointer. If NULL the argument is ignored otherwise the a copy of the lock owner string is placed into the location pointed to by the reference. It is the client's responsibility to free the resulting lock owner string with TecUtilStringDealloc() when finished with it. |
Results = TecUtil.VariableIsLocked(Var)
Input:
Var int
Output:
Results[0] ReturnVal boolean
Results[1] VarLockMode VarLockMode_e (defined in TecVals.py)
Results[2] LockOwner string
| Boolean_t TecUtilVariableLockOff | ( | EntIndex_t | Var, | |
| const char * | LockOwner | |||
| ) |
Unlock the variable.
The variable must have been previously locked by the same lock owner.
| Var | Offset of the variable to unlock. The offset used to lock the variable may not be the same as variables could be deleted or inserted into the For help tracking variables see TecUtilVarGetUniqueID() and TecUtilVarGetNumByUniqueID(). | |
| LockOwner | A unique non-zero length string identifying the lock owner. Add-ons can use the ADDON_NAME define for this value. This string must match that of the variable locker. |
Results = TecUtil.VariableLockOff(Var, LockOwner)
Input:
Var int
LockOwner string
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilVariableLockOn | ( | EntIndex_t | Var, | |
| VarLockMode_e | VarLockMode, | |||
| const char * | LockOwner | |||
| ) |
Lock the variable from being altered according to the specified locking mode.
The variable can only be locked if it isn't already locked.
| Var | Current offset of the variable to lock. The offset may change over the course of a Tepclot session as other variables are deleted or inserted into the dataset. For help tracking variables see TecUtilVarGetUniqueID() and TecUtilVarGetNumByUniqueID(). | |
| VarLockMode | Variable locking mode. The possible values are: VarLockMode_ValueChange (prevents modification of values in a variable but permits deletion), and VarLockMode_Delete (prevents deletion of a varaible but permits modification). | |
| LockOwner | A unique non-zero length string identifying the lock owner. Add-ons can use the ADDON_NAME define for this value. |
Results = TecUtil.VariableLockOn(Var, VarLockMode, LockOwner)
Input:
Var int
VarLockMode VarLockMode_e (defined in TecVals.py)
LockOwner string
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilVarIsEnabled | ( | EntIndex_t | Var | ) |
Determine if a variable is enabled.
INTEGER*4 FUNCTION TecUtilVarIsEnabled(Var) INTEGER*4 Var
Python Syntax:
Results = TecUtil.VarIsEnabled(Var)
Input:
Var int
Output:
Results[0] ReturnVal boolean
Check if the first variable is enabled:
if (TecUtilVarIsEnabled(1)) { // sure is! }
| Boolean_t TecUtilVarRename | ( | EntIndex_t | VarNum, | |
| const char * | VarName | |||
| ) |
Rename a data set variable in Tecplot.
| VarNum | The number of the variable to be renamed. The variable must be greater than zero and the variable must be enabled | |
| VarName | A string containing the new variable name. Must not be NULL |
INTEGER*4 FUNCTION TecUtilVarRename( & VarNum, & VarName) INTEGER*4 VarNum CHARACTER*(*) VarName
Python Syntax:
Results = TecUtil.VarRename(VarNum, VarName)
Input:
VarNum int
VarName string
Output:
Results[0] ReturnVal boolean
Rename the first variable (assumed to be enabled for this example):
TecUtilVarRename(1,"NewNameForVariable1");
| Boolean_t TecUtilWriteDataSet | ( | const char * | FName, | |
| Boolean_t | IncludeText, | |||
| Boolean_t | IncludeGeom, | |||
| Boolean_t | IncludeCustomLabels, | |||
| Boolean_t | IncludeData, | |||
| Set_pa | ZonesToWrite, | |||
| Set_pa | VarsToWrite, | |||
| Boolean_t | WriteBinary, | |||
| Boolean_t | UsePointFormat, | |||
| SmInteger_t | AsciiPrecision | |||
| ) |
Write the data set attached to the current frame to a file.
| FName | File name. Must not be NULL | |
| IncludeText | Set to TRUE to include text. | |
| IncludeGeom | Set to TRUE to include geometries | |
| IncludeCustomLabels | Set to TRUE to include custom labels | |
| IncludeData | Set to TRUE to include data | |
| ZonesToWrite | Set of zones to write. Pass NULL to write all zones | |
| VarsToWrite | Set of vars to write. Pass NULL to write all variables | |
| WriteBinary | Set to TRUE to write a binary file, FALSE to write an ASCII file | |
| UsePointFormat | Valid only if WriteBinary is FALSE, ignored otherwise | |
| AsciiPrecision | Valid only if WriteBinary is FALSE, ignored otherwise |
INTEGER*4 FUNCTION TecUtilWriteDataSet( & FName, & IncludeText, & IncludeGeom, & IncludeCustomLabels, & IncludeData, & ZonesToWritePtr, & VarsToWritePtr, & WriteBinary, & UsePointFormat, & AsciiPrecision) CHARACTER*(*) FName INTEGER*4 IncludeText INTEGER*4 IncludeGeom INTEGER*4 IncludeCustomLabels INTEGER*4 IncludeData POINTER (ZonesToWritePtr, ZonesToWrite) POINTER (VarsToWritePtr, VarsToWrite) INTEGER*4 WriteBinary INTEGER*4 UsePointFormat INTEGER*4 AsciiPrecision
Python Syntax:
Results = TecUtil.WriteDataSet(FName, IncludeText, IncludeGeom, IncludeCustomLabels, IncludeData, ZonesToWrite, VarsToWrite, WriteBinary, UsePointFormat, AsciiPrecision)
Input:
FName string
IncludeText boolean
IncludeGeom boolean
IncludeCustomLabels boolean
IncludeData boolean
ZonesToWrite sequence of ints
VarsToWrite sequence of ints
WriteBinary boolean
UsePointFormat boolean
AsciiPrecision int
Output:
Results[0] ReturnVal boolean
Write out only zone 3 to a file called zone3.plt:
Set_pa set = TecUtilSetAlloc(FALSE); TecUtilSetAddMember(set,3,FALSE); TecUtilWriteDataSet("zone3.plt",FALSE,FALSE,FALSE,TRUE,set,NULL, TRUE,FALSE,0); TecUtilSetDealloc(&set);
| Boolean_t TecUtilWriteStylesheet | ( | const char * | FName, | |
| Boolean_t | IncludePlotStyle, | |||
| Boolean_t | IncludeText, | |||
| Boolean_t | IncludeGeom, | |||
| Boolean_t | IncludeStreamPositions, | |||
| Boolean_t | IncludeContourLevels, | |||
| Boolean_t | IncludeFactoryDefaults | |||
| ) |
Write the style for the current frame to a file.
| FName | File name. Must not be NULL | |
| IncludePlotStyle | Set to TRUE to include the plot style | |
| IncludeText | Set to TRUE to include text | |
| IncludeGeom | Set to TRUE to include geometries | |
| IncludeStreamPositions | Set to TRUE to include stream positions | |
| IncludeContourLevels | Set to TRUE to include contour levels | |
| IncludeFactoryDefaults | Set to TRUE to include factory defaults |
INTEGER*4 FUNCTION TecUtilWriteStylesheet( & FName, & IncludePlotStyle, & IncludeText, & IncludeGeom, & IncludeStreamPositions, & IncludeContourLevels, & IncludeFactoryDefaults) CHARACTER*(*) FName INTEGER*4 IncludePlotStyle INTEGER*4 IncludeText INTEGER*4 IncludeGeom INTEGER*4 IncludeStreamPositions INTEGER*4 IncludeContourLevels INTEGER*4 IncludeFactoryDefaults
Python Syntax:
Results = TecUtil.WriteStylesheet(FName, IncludePlotStyle, IncludeText, IncludeGeom, IncludeStreamPositions, IncludeContourLevels, IncludeFactoryDefaults)
Input:
FName string
IncludePlotStyle boolean
IncludeText boolean
IncludeGeom boolean
IncludeStreamPositions boolean
IncludeContourLevels boolean
IncludeFactoryDefaults boolean
Output:
Results[0] ReturnVal boolean
Write the style for the current frame to the file f1.sty:
| Boolean_t TecUtilZoneCopy | ( | EntIndex_t | ZoneUsed, | |
| LgIndex_t | IMin, | |||
| LgIndex_t | IMax, | |||
| LgIndex_t | ISkip, | |||
| LgIndex_t | JMin, | |||
| LgIndex_t | JMax, | |||
| LgIndex_t | JSkip, | |||
| LgIndex_t | KMin, | |||
| LgIndex_t | KMax, | |||
| LgIndex_t | KSkip | |||
| ) |
Make a copy of an existing zone.
You can assign index ranges to create a new zone which is a sub-set of the source zone.
| ZoneUsed | Source zone. Must be greater than or equal to one | |
| IMin | Minimum I-index. Set to one to duplicate the entire zone | |
| IMax | Maximum I-index. Set to zero to duplicate the entire zone | |
| ISkip | I skip value. Set to one to duplicate the entire zone | |
| JMin | Minimum J-index. Set to one to duplicate the entire zone | |
| JMax | Maximum J-index. Set to zero to duplicate the entire zone | |
| JSkip | J skip value. Set to one to duplicate the entire zone. | |
| KMin | Minimum K-index. Set to one to duplicate the entire zone. | |
| KMax | Maximum K-index. Set to zero to duplicate the entire zone | |
| KSkip | K skip value. Set to one to duplicate the entire zone |
INTEGER*4 FUNCTION TecUtilZoneCopy( & ZoneUsed, & IMin, & IMax, & ISkip, & JMin, & JMax, & JSkip, & KMin, & KMax, & KSkip) INTEGER*4 ZoneUsed INTEGER*4 IMin INTEGER*4 IMax INTEGER*4 ISkip INTEGER*4 JMin INTEGER*4 JMax INTEGER*4 JSkip INTEGER*4 KMin INTEGER*4 KMax INTEGER*4 KSkip
Python Syntax:
Results = TecUtil.ZoneCopy(ZoneUsed, IMin, IMax, ISkip, JMin, JMax, JSkip, KMin, KMax, KSkip)
Input:
ZoneUsed int
IMin int
IMax int
ISkip int
JMin int
JMax int
JSkip int
KMin int
KMax int
KSkip int
Output:
Results[0] ReturnVal boolean
Duplicate zone 3:
Boolean_t IsOK = TecUtilZoneCopy(3,1,0,1,1,0,1,1,0,1);
| Boolean_t TecUtilZoneCopyX | ( | ArgList_pa | ArgList | ) |
Make a copy of a zone.
| ArgList | Set of Arglist entries. This is built using calls to TecUtilArgListAppendXXXX functions. Arglist Values SV_SOURCEZONE
SV_IMIN
SV_IMAX
SV_ISKIP
SV_JMIN
SV_JMAX
SV_JSKIP
SV_KMIN
SV_KMAX
SV_KSKIP
|
INTEGER*4 FUNCTION TecUtilZoneCopyX(ArgListPtr) POINTER (ArgListPtr, ArgList)
Python Syntax:
Results = TecUtil.ZoneCopyX(ArgList)
Input:
ArgList dictionary
Output:
Results[0] ReturnVal boolean
Obtain the set of active field zones.
| ActiveZones | Receives the set of active field zones. You must call TecUtilSetDealloc() when you are through using the set. |
INTEGER*4 FUNCTION TecUtilZoneGetActive(ActiveZonesPtr) POINTER (ActiveZonesPtr, ActiveZones)
Python Syntax:
Results = TecUtil.ZoneGetActive()
Output:
Results[0] ReturnVal boolean
Results[1] ActiveZones sequence of ints
Do something if zone 3 is active:
Set_pa zone_set = NULL; TecUtilZoneGetActive(&zone_set); if ( TecUtilSetIsMember(zone_set, 3) ) { // do something } TecUtilSetDealloc(&zone_set);
Get the set of enabled zones.
Zones are enabled/disabled when they are read in.
| EnabledZones | Receives the set of enabled zones. You must free this pointer by calling TecUtilSetDealloc(). |
INTEGER*4 FUNCTION TecUtilZoneGetEnabled(EnabledZonesPtr) POINTER (EnabledZonesPtr, EnabledZones)
Python Syntax:
Results = TecUtil.ZoneGetEnabled()
Output:
Results[0] ReturnVal boolean
Results[1] EnabledZones sequence of ints
Get the set of enabled zones:
Set_pa set = NULL; if (TecUtilZoneGetEnabled(&set)) { // do something with the set here TecUtilSetDealloc(&set); }
| LgIndex_t TecUtilZoneGetFieldMap | ( | EntIndex_t | Zone | ) |
Gets the position of the zone in the Zone Style dialog.
This function may only be called when the Plot Type is 2D or 3D.
Python Syntax:
Results = TecUtil.ZoneGetFieldMap(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal int
| void TecUtilZoneGetIJK | ( | EntIndex_t | CurZone, | |
| LgIndex_t * | IMax, | |||
| LgIndex_t * | JMax, | |||
| LgIndex_t * | KMax | |||
| ) |
Used to obtain the I, J, and K dimensions of a specific zone.
| CurZone | Number of the zone to query. | |
| IMax | Receives the I-dimension for ordered data. Number of data points for FE-data. Passing NULL indicates the value is not desired. | |
| JMax | Receives the J-dimension for ordered data. Number of elements for FE-data. Passing NULL indicates the value is not desired. | |
| KMax | Receives the K-dimension for ordered data. Number of nodes per cell for cell-based FE-data (triangle, brick, tetrahedral, quadtrilateral). Number of faces for face-based FE-data (polygons and polyhedrons). Passing NULL indicates the value is not desired. |
SUBROUTINE TecUtilZoneGetInfo( & CurZone, & IMax, & JMax, & KMax) INTEGER*4 CurZone INTEGER*4 IMax INTEGER*4 JMax INTEGER*4 KMax
Python Syntax:
Results = TecUtil.ZoneGetIJK(CurZone, IMax, JMax, KMax)
Input:
CurZone int
IMax list of ints
JMax list of ints
KMax list of ints
Output:
Results[0] ReturnVal NONE
Get IMAX for the first zone:
LgIndex_t IMax; // Use NULL for values we're not interested in TecUtilZoneGetInfo(1,&IMax,NULL,NULL);
| void TecUtilZoneGetInfo | ( | EntIndex_t | CurZone, | |
| LgIndex_t * | IMax, | |||
| LgIndex_t * | JMax, | |||
| LgIndex_t * | KMax, | |||
| FieldData_pa * | XVar, | |||
| FieldData_pa * | YVar, | |||
| FieldData_pa * | ZVar, | |||
| NodeMap_pa * | NMap, | |||
| FieldData_pa * | UVar, | |||
| FieldData_pa * | VVar, | |||
| FieldData_pa * | WVar, | |||
| FieldData_pa * | BVar, | |||
| FieldData_pa * | CVar, | |||
| FieldData_pa * | SVar | |||
| ) |
Convenience function used to obtain information about a specific zone.
This function is primarily targeted for use with 2D and 3D frame modes. If the frame mode is XY, only the zone dimensions can be queried. To get a field data pointer to axis variables when the frame mode is XY use TecUtilLineMapGetAssignment().
| CurZone | Number of the zone to query. | |
| IMax | Receives the I-dimension for ordered data. Number of data points for FE-data. Passing NULL indicates the value is not desired. | |
| JMax | Receives the J-dimension for ordered data. Number of elements for FE-data. Passing NULL indicates the value is not desired. | |
| KMax | Receives the K-dimension for ordered data. Number of nodes per cell for cell-based FE-data (triangle, brick, tetrahedral, quadtrilateral). Number of faces for face-based FE-data (polygons and polyhedrons). Passing NULL indicates the value is not desired. | |
| XVar | Receives the handle to a writeable field data for X. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| YVar | Receives the handle to a writeable field data for Y. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| ZVar | Receives the handle to a writeable field data for Z. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| NMap | Receives the handle for a writeable connectivity list. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| UVar | Receives the Handle to a writeable field data for U. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| VVar | Receives the handle to a writable field data for V. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| WVar | Receives the handle to a writable field data for W. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| BVar | Receives the handle to a writable field data for the blanking variable. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| CVar | Receives the handle to a writable field data for the contouring variable. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. | |
| SVar | Receives the handle to a writable field data for the scatter sizing variable. Passing NULL indicates the value is not desired. If the frame mode is XY this parameter must be NULL. |
SUBROUTINE TecUtilZoneGetInfo( & CurZone, & IMax, & JMax, & KMax, & XVarPtr, & YVarPtr, & ZVarPtr, & NMapPtr, & UVarPtr, & VVarPtr, & WVarPtr, & BVarPtr, & CVarPtr, & SVarPtr) INTEGER*4 CurZone INTEGER*4 IMax INTEGER*4 JMax INTEGER*4 KMax POINTER (XVarPtr, XVar) POINTER (YVarPtr, YVar) POINTER (ZVarPtr, ZVar) POINTER (NMapPtr, NMap) POINTER (UVarPtr, UVar) POINTER (VVarPtr, VVar) POINTER (WVarPtr, WVar) POINTER (BVarPtr, BVar) POINTER (CVarPtr, CVar) POINTER (SVarPtr, SVar)
Python Syntax:
Results = TecUtil.ZoneGetInfo(CurZone)
Input:
CurZone int
Output:
Results[0] IMax int
Results[1] JMax int
Results[2] KMax int
Results[3] XVar opaque pointer
Results[4] YVar opaque pointer
Results[5] ZVar opaque pointer
Results[6] NMap opaque pointer
Results[7] UVar opaque pointer
Results[8] VVar opaque pointer
Results[9] WVar opaque pointer
Results[10] BVar opaque pointer
Results[11] CVar opaque pointer
Results[12] SVar opaque pointer
Get IMAX for the first zone:
LgIndex_t IMax; // Use NULL for values we're not interested in TecUtilZoneGetInfo(1,&IMax,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL,NULL,NULL,NULL);
FORTRAN example to get IMAX for the first zone:
INTEGER*4 IMax
INTEGER*4 ZoneNum
POINTER (NullPntr, Null)
.
.
.
NullPntr = 0
ZoneNum = 1
Call TecUtilZoneGetInfo(ZoneNum,
& IMax,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null,
& Null)
| Boolean_t TecUtilZoneGetName | ( | EntIndex_t | Zone, | |
| char ** | ZName | |||
| ) |
Get the name of a specified zone in the data set attached to the current frame.
| Zone | Number of the zone for which to get the zone name information | |
| ZName | Receives the name of the specified zone. You must free the returned string with TecUtilStringDealloc(). |
INTEGER*4 FUNCTION TecUtilZoneGetName( & Zone, & ZName, & ZNameLength) INTEGER*4 Zone CHARACTER*(*) ZName INTEGER*4 ZNameLength
Python Syntax:
Results = TecUtil.ZoneGetName(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
Results[1] ZName string
Get the name of the first zone:
char *name = NULL; if (TecUtilZoneGetName(1,&name) { // do something with the name here TecUtilStringDealloc(&name); }
| EntIndex_t TecUtilZoneGetNumByUniqueID | ( | UniqueID_t | UniqueID | ) |
Gets a zone number, given a unique ID.
| UniqueID | Unique ID of the zone |
INTEGER*4 FUNCTION TecUtilZoneGetNumByUniqueID(UniqueID) INTEGER*4 UniqueID
Python Syntax:
Results = TecUtil.ZoneGetNumByUniqueID(UniqueID)
Input:
UniqueID long
Output:
Results[0] ReturnVal int
Get a zone number from a unique ID:
{
extern UniqueID_t ID; // previously initialized
TecUtilLockStart(AddOnID);
if ( TecUtilDataSetIsAvailable() )
{
EntIndex_t ZoneNum = TecUtilZoneGetNumByUniqueID(ID);
if (ZoneNum != TECUTILBADID)
{
...
}
}
TecUtilLockFinish(AddOnID);
}
| EntIndex_t TecUtilZoneGetParentZone | ( | EntIndex_t | Zone | ) |
Returns the number of the Parent Zone associated with the specified zone.
| Zone | A zone number for a currently enabled zone. |
INTEGER*4 FUNCTION TecUtilZoneGetParentZone( & Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneGetParentZone(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal int
| Boolean_t TecUtilZoneGetRelevant | ( | double | SolutionTime, | |
| Boolean_t | IgnoreStaticZones, | |||
| Set_pa * | RelevantZones | |||
| ) |
Get the set of relevant zones at the supplied solution time.
A transient zone is relevant if its solution time is less than the supplied solution time and there are no other zones in its strand that have closer solution times. No zones of a strand are relevant if the solution time is outside the range of solution times for the entire strand. Static zones (non-transient) are always considered relevant. For more information on transient zones see the Tecplot User's Manual.
| IgnoreStaticZones | If set to TRUE the resulting set will not include static zones. If FALSE, static zones will be included in the result. Static zones are always "relevant" regardless of the solution time. | |
| SolutionTime | The solution time for which to get the relevant zones. | |
| RelevantZones | A reference to a Set_pa in which to put the resulting set of zones. |
INTEGER*4 FUNCTION TecUtilZoneGetRelevant( & SolutionTime, & IgnoreStaticZones, & RelevantZones) REAL*8 SolutionTime INTEGER*4 IgnoreStaticZones POINTER (RelevantZonesPtr, RelevantZones)
Python Syntax:
Results = TecUtil.ZoneGetRelevant(SolutionTime, IgnoreStaticZones)
Input:
SolutionTime double
IgnoreStaticZones boolean
Output:
Results[0] ReturnVal boolean
Results[1] RelevantZones sequence of ints
Get the set of relevant zones:
Set_pa set = NULL; Boolean_t IsOk; IsOk = TecUtilZoneGetRelevant(0.4324, FALSE, &set); if ( IsOk ) { // do something with the set here TecUtilSetDealloc(&set); }
| double TecUtilZoneGetSolutionTime | ( | EntIndex_t | Zone | ) |
Returns the Solution Time associated with the specified zone.
| Zone | A zone number for a currently enabled zone. |
REAL*8 FUNCTION TecUtilZoneGetSolutionTime( & Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneGetSolutionTime(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal double
| Strand_t TecUtilZoneGetStrandID | ( | EntIndex_t | Zone | ) |
Returns the StrandID associated with the specified zone.
| Zone | A zone number for a currently enabled zone. |
INTEGER*4 FUNCTION TecUtilZoneGetStrandID( & Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneGetStrandID(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal int
| ZoneType_e TecUtilZoneGetType | ( | EntIndex_t | Zone | ) |
Get the type of a specified zone in the data set attached to the current frame.
| Zone | Number of the zone for which to get the zone type information |
INTEGER*4 FUNCTION TecUtilZoneGetType(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneGetType(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal ZoneType_e (defined in TecVals.py)
Get the time of the first zone:
ZoneType_e type = TecUtilZoneGetType(1);
| UniqueID_t TecUtilZoneGetUniqueID | ( | EntIndex_t | Zone | ) |
Gets a unique ID for a zone.
A unique ID is an integer that uniquely identifies a zone. An addon can use these IDs to internally keep track of a set of zones. TecUtilZoneGetNumByUniqueID() can be used to convert between a unique ID and a zone number.
| Zone | Zone number to query. |
INTEGER*4 FUNCTION TecUtilZoneGetUniqueID(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneGetUniqueID(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal long
Get the UniqueID for zone 1:
{
TecUtilLockStart(AddOnID);
if ( TecUtilDataSetIsAvailable() && TecUtilZoneIsEnabled(1) )
{
UniqueID_t ID = TecUtilZoneGetUniqueID(1);
...
}
TecUtilLockFinish(AddOnID);
}
| Boolean_t TecUtilZoneIsActive | ( | EntIndex_t | Zone | ) |
Determine if a zone is active.
INTEGER*4 FUNCTION TecUtilZoneIsActive(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneIsActive(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
| Boolean_t TecUtilZoneIsEnabled | ( | EntIndex_t | Zone | ) |
Determine if a zone is enabled.
| Zone | Number of the zone for which to get the zone type information |
INTEGER*4 FUNCTION TecUtilZoneIsEnabled(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneIsEnabled(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
Check if the first zone is enabled:
if (TecUtilZoneIsEnabled(1)) { // sure is! }
| Boolean_t TecUtilZoneIsFiniteElement | ( | EntIndex_t | Zone | ) |
Determine if a zone in the data set attached to the current frame contains finite-element data.
| Zone | Number of the zone for which to get the zone type information |
INTEGER*4 FUNCTION TecUtilZoneIsFiniteElement(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneIsFiniteElement(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
Check if the first zone is finite element:
if (TecUtilZoneIsFiniteElement(1)) { // sure is! }
| Boolean_t TecUtilZoneIsOrdered | ( | EntIndex_t | Zone | ) |
Determine if the specified zone in the data set attached to the current frame contains ordered data.
| Zone | Number of the zone for which to get the zone type information |
INTEGER*4 FUNCTION TecUtilZoneIsOrdered(Zone) INTEGER*4 Zone
Python Syntax:
Results = TecUtil.ZoneIsOrdered(Zone)
Input:
Zone int
Output:
Results[0] ReturnVal boolean
Check if the first zone is ordered:
if (TecUtilZoneIsOrdered(1)) { // sure is! }
| Boolean_t TecUtilZoneRealloc | ( | EntIndex_t | Zone, | |
| LgIndex_t | NewIMaxOrNumDataPoints, | |||
| LgIndex_t | NewJMaxOrNumElements, | |||
| LgIndex_t | NewKMax | |||
| ) |
Reallocate the classic FE or ordered zone in the data set attached to the current frame.
This in effect re-dimensions the raw data referenced by the zone.
Data in the reallocated zone is preserved as much as possible. If the zone is reduced in size all field data should be preserved where like I,J,K subscripted locations in the old zone (using the old dimensions to calculate the offset) are copied to the same I,J,K subscripted locations in the new zone (using the new dimensions). If the dimensions of the zone are increased then the field data at subscripts beyond the original dimensions are initialized to zero.
If the zone is classic finite element and an element contains a point that is no longer available (because the zone was reduced in size) it is reset to the first point in the dataset. If the connectivity list is expanded then all nodes in the newly created elements will reference the first point in the dataset.
| Zone | One-based index of the zone to reallocate | |
| NewIMaxOrNumDataPoints | New IMax or number of data points | |
| NewJMaxOrNumElements | New JMax or number of elements | |
| NewKMax | New KMax |
INTEGER*4 FUNCTION TecUtilZoneRealloc( & Zone, & NewIMaxOrNumDataPoints, & NewJMaxOrNumElements, & NewKMax) INTEGER*4 Zone INTEGER*4 NewIMaxOrNumDataPoints INTEGER*4 NewJMaxOrNumElements INTEGER*4 NewKMax
Python Syntax:
Results = TecUtil.ZoneRealloc(Zone, NewIMaxOrNumDataPoints, NewJMaxOrNumElements, NewKMax)
Input:
Zone int
NewIMaxOrNumDataPoints int
NewJMaxOrNumElements int
NewKMax int
Output:
Results[0] ReturnVal boolean
Reallocate the first zone:
TecUtilZoneRealloc(1,15,4,1);
| Boolean_t TecUtilZoneRename | ( | EntIndex_t | Zone, | |
| const char * | ZoneName | |||
| ) |
Rename a data set zone in Tecplot.
| Zone | The number of the zone to be renamed. The first zone in Tecplot is at position 1 | |
| ZoneName | A string containing the new zone name. Must not be NULL |
INTEGER*4 FUNCTION TecUtilZoneRename( & Zone, & ZoneName) INTEGER*4 Zone CHARACTER*(*) ZoneName
Python Syntax:
Results = TecUtil.ZoneRename(Zone, ZoneName)
Input:
Zone int
ZoneName string
Output:
Results[0] ReturnVal boolean
Rename the first zone:
TecUtilZoneRename(1,"New Zone Name");
| SetValueReturnCode_e TecUtilZoneSetActive | ( | Set_pa | ZoneSet, | |
| AssignOp_e | AssignModifier | |||
| ) |
Assign which zones are active.
| ZoneSet | Set of zones used to change the set of active zones. The way in which the active zones are changed is based on the AssignModifier. Must not be NULL. | |
| AssignModifier | The possible values are: AssignOp_Equals, AssignOp_PlusEquals, AssignOp_MinusEquals |
INTEGER*4 FUNCTION TecUtilZoneSetActive( & ZoneSetPtr, & AssignModifier) POINTER (ZoneSetPtr, ZoneSet) INTEGER*4 AssignModifier
Python Syntax:
Results = TecUtil.ZoneSetActive(ZoneSet, AssignModifier)
Input:
ZoneSet sequence of ints
AssignModifier AssignOp_e (defined in TecVals.py)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Activate zone 3:
Set_pa zone_set = TecUtilSetAlloc(); TecUtilSetAddMember(zone_set, 3,TRUE); TecUtilZoneSetActive(zone_set, AssignOp_PlusEquals); TecUtilSetDealloc(&zone_set);
| SetValueReturnCode_e TecUtilZoneSetBoundary | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| double | DValue, | |||
| ArbParam_t | IValue | |||
| ) |
| void TecUtilZoneSetBuildZoneOptInfo | ( | EntIndex_t | Zone, | |
| Boolean_t | BuildZoneOptInfo | |||
| ) |
Instruct Tecplot to either build or forgo building zone optimization information.
Zone optimization information enhances interactive performance but has an upfront performance cost. This function can be called any time after the zone has been created.
| Zone | Zone for which the decision to build zone optimization information needs changing. | |
| BuildZoneOptInfo | Indicates if Tecplot should build zone optimization if needed. |
SUBROUTINE TecUtilZoneSetBuildZoneOptInfo( & Zone, & BuildZoneOptInfo) INTEGER*4 Zone INTEGER*4 BuildZoneOptInfo
Python Syntax:
Results = TecUtil.ZoneSetBuildZoneOptInfo(Zone, BuildZoneOptInfo)
Input:
Zone int
BuildZoneOptInfo boolean
Output:
Results[0] ReturnVal NONE
| SetValueReturnCode_e TecUtilZoneSetContour | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| double | DValue, | |||
| ArbParam_t | IValue | |||
| ) |
Assign values to attributes for contour plots.
| Attribute | Specify the attribute to change from the possible values found below: |
Attribute I or D Value Notes
-----------------------------------------------------------------
SV_SHOW IValue TRUE, FALSE
SV_CONTOURTYPE IValue ContourType_e
SV_COLOR IValue ColorIndex_t
SV_FLOODCOLORING IValue ContourColoring_e
SV_LINECONTOURGROUP IValue integer value 1 through 4
SV_LINEPATTERN IValue LinePattern_e
SV_PATTERNLENGTH DValue Valid length
SV_LINETHICKNESS DValue Valid thickness
SV_USELIGHTINGEFFECT IValue TRUE, FALSE
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones. | |
| DValue | If the attribute requires a floating point value, put that value in DValue, otherwise DValue is not used. | |
| IValue | If the attribute requires an integer, enumerated value, or a handle to a string then assigned it to the IValue parameter. Always typecast the IValue parameter to ArbParam_t |
INTEGER*4 FUNCTION TecUtilZoneSetContour( & Attribute, & ZoneSetPtr, & DValue, & IValuePtr) CHARACTER*(*) Attribute POINTER (ZoneSetPtr, ZoneSet) REAL*8 DValue POINTER (IValuePtr, IValue)
Python Syntax:
Results = TecUtil.ZoneSetContour(Attribute, ZoneSet, DValue, IValue)
Input:
Attribute string
ZoneSet sequence of ints
DValue double
IValue (depends on attribute)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Change the contour plot type to flood for the first zone:
Set_pa set = TecUtilSetAlloc(FALSE); TecUtilSetAddMember(set,1,FALSE); TecUtilZoneSetContour(SV_CONTOURTYPE,set,0.0, (ArbParam_t)Contour_Flood); TecUtilSetDealloc(&set);
| SetValueReturnCode_e TecUtilZoneSetEdgeLayer | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| double | DValue, | |||
| ArbParam_t | IValue | |||
| ) |
Assign values to attributes for edge plots.
| Attribute | Specify the attribute to change from the possible values found below: |
Attribute I or D Value Notes
-----------------------------------------------------------------
SV_SHOW IValue TRUE, FALSE
SV_EDGETYPE IValue EdgeType_e
SV_IBORDER IValue BorderLocation_e
SV_JBORDER IValue BorderLocation_e
SV_KBORDER IValue BorderLocation_e
SV_COLOR IValue Valid color index.
SV_LINETHICKNESS DValue Valid line thickness.
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones | |
| DValue | If the attribute requires a floating point value then put that value in DValue, otherwise DValue is not used | |
| IValue | If the attribute requires an integer, enumerated value, or a handle to a string then assigned it to the IValue parameter. Always typecast the IValue parameter to ArbParam_t |
INTEGER*4 FUNCTION TecUtilZoneSetEdgeLayer( & Attribute, & ZoneSetPtr, & DValue, & IValuePtr) CHARACTER*(*) Attribute POINTER (ZoneSetPtr, ZoneSet) REAL*8 DValue POINTER (IValuePtr, IValue)
Python Syntax:
Results = TecUtil.ZoneSetEdgeLayer(Attribute, ZoneSet, DValue, IValue)
Input:
Attribute string
ZoneSet sequence of ints
DValue double
IValue (depends on attribute)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Set the line thickness for the first zone to 0.1:
Set_pa set = TecUtilSetAlloc(FALSE); TecUtilSetAddMember(set,1,FALSE); TecUtilZoneSetEdgeLayer( SV_LINETHICKNESS,set,0.1,(ArbParam_t)NULL); TecUtilSetDealloc(&set);
| SetValueReturnCode_e TecUtilZoneSetIJKMode | ( | const char * | Attribute, | |
| const char * | SubAttribute, | |||
| Set_pa | ZoneSet, | |||
| ArbParam_t | IValue | |||
| ) |
| SetValueReturnCode_e TecUtilZoneSetMesh | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| double | DValue, | |||
| ArbParam_t | IValue | |||
| ) |
Assign values to attributes for mesh plots.
| Attribute | Specify the attribute to change from the possible values found below: |
Attribute Assign To Value Notes
---------------------------------------------------------
SV_SHOW IValue TRUE,FALSE
SV_MESHTYPE IValue MeshType_e
SV_COLOR IValue ColorIndex_t
SV_LINEPATTERN IValue LinePattern_e
SV_PATTERNLENGTH DValue Valid pattern length
SV_LINETHICKNESS DValue Valid line thickness
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones. | |
| DValue | If the attribute requires a floating point value then put that value in DValue, otherwise DValue is not used. | |
| IValue | If the attribute requires an integer, enumerated value, or a handle to a string then assigned it to the IValue parameter. Always typecast the IValue parameter to ArbParam_t |
INTEGER*4 FUNCTION TecUtilZoneSetMesh( & Attribute, & ZoneSetPtr, & DValue, & IValuePtr) CHARACTER*(*) Attribute POINTER (ZoneSetPtr, ZoneSet) REAL*8 DValue POINTER (IValuePtr, IValue)
Python Syntax:
Results = TecUtil.ZoneSetMesh(Attribute, ZoneSet, DValue, IValue)
Input:
Attribute string
ZoneSet sequence of ints
DValue double
IValue (depends on attribute)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Set the mesh color for all zones to be red:
TecUtilZoneSetMesh(SV_Color,NULL,0.0,(ArbParam_t)Blue_C);
| SetValueReturnCode_e TecUtilZoneSetScatter | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| double | DValue, | |||
| ArbParam_t | IValue | |||
| ) |
Assign top level values to attributes for scatter plots.
| Attribute | Specify the attribute to change from the possible values found below: |
Attribute Assign To Value Notes
---------------------------------------------------------
SV_SHOW IValue TRUE,FALSE
SV_COLOR IValue ColorIndex_t
SV_ISFILLED IValue TRUE,FALSE
SV_FILLMODE IValue FillMode_e
SV_FILLCOLOR IValue ColorIndex_t
SV_SIZEBYVARIABLE IValue TRUE,FALSE
SV_FRAMESIZE DValue 0.0-100.0
SV_LINETHICKNESS DValue 0.001-100.0
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones | |
| DValue | If the attribute requires a double value then assigned it to the DValue parameter. | |
| IValue | If the attribute requires an integer, enumerated value, or a handle to a string then assigned it to the IValue parameter. Always typecast the IValue parameter to ArbParam_t |
INTEGER*4 FUNCTION TecUtilZoneSetScatter( & Attribute, & ZoneSetPtr, & DValue, & IValuePtr) CHARACTER*(*) Attribute POINTER (ZoneSetPtr, ZoneSet) REAL*8 DValue POINTER (IValuePtr, IValue)
Python Syntax:
Results = TecUtil.ZoneSetScatter(Attribute, ZoneSet, DValue, IValue)
Input:
Attribute string
ZoneSet sequence of ints
DValue double
IValue (depends on attribute)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Set scatter line thickness for all zones to 0.1:
TecUtilZoneSetScatter(SV_LINETHICKNESS,NULL,0.1,(ArbParam_t)0);
| SetValueReturnCode_e TecUtilZoneSetScatterIJKSkip | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| LgIndex_t | Skip | |||
| ) |
Set the scatter I-, J-, or K-skipping.
| Attribute | Specify the attribute (in this case, I-, J-, or K-skip) to change. The possible values are SV_I, SV_J, or SV_K. | |
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones. | |
| Skip | The scatter skip value to assign. |
INTEGER*4 FUNCTION TecUtilZoneSetScatterIJKSkip( & Attribute, & ZoneSetPtr, & Skip) CHARACTER*(*) Attribute POINTER (ZoneSetPtr, ZoneSet) INTEGER*4 Skip
Python Syntax:
Results = TecUtil.ZoneSetScatterIJKSkip(Attribute, ZoneSet, Skip)
Input:
Attribute string
ZoneSet sequence of ints
Skip int
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
Set the scatter I-skip to two for all zones:
TecUtilZoneSetScatterIJKSkip(SV_I,NULL,(ArbParam_t)2);
| SetValueReturnCode_e TecUtilZoneSetScatterSymbolShape | ( | const char * | Attribute, | |
| Set_pa | ZoneSet, | |||
| ArbParam_t | IValue | |||
| ) |
Assign values for the symbol shape in scatter plots.
| Attribute | Specify the attribute to change from the possible values found below: |
Attribute Assign To Value Notes
---------------------------------------------------------
SV_ISASCII IValue TRUE,FALSE
SV_GEOMSHAPE IValue GeomShape_e
SV_ASCIICHAR IValue Character string. Must
be a single character (like "A").
| ZoneSet | Set of zones to operate on. Pass NULL to operate on all zones | |
| IValue | If the attribute requires an integer, enumerated value, or a handle to a string then assigned it to the IValue parameter. Always typecast the IValue parameter to ArbParam_t |
INTEGER*4 FUNCTION TecUtilZoneSetScatterSymbolShap(
& Attribute,
& ZoneSetPtr,
& IValuePtr)
CHARACTER*(*) Attribute
POINTER (ZoneSetPtr, ZoneSet)
POINTER (IValuePtr, IValue)
Python Syntax:
Results = TecUtil.ZoneSetScatterSymbolShape(Attribute, ZoneSet, IValue)
Input:
Attribute string
ZoneSet sequence of ints
IValue (depends on attribute)
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
TecUtilZoneSetScatterSymbolShape(SV_ISASCII,NULL, (ArbParam_t)FALSE); TecUtilZoneSetScatterSymbolShape(SV_GEOMSHAPE,NULL, (ArbParam_t)GeomShape_Square);
| SetValueReturnCode_e TecUtilZoneSetStrandID | ( | EntIndex_t | Zone, | |
| Strand_t | StrandID | |||
| ) |
Sets the StrandID associated with the specified zone.
Data loader add-ons should specify the strand ID when creating the zone by using TecUtilAddZoneX().
| Zone | A zone number for a currently enabled zone. | |
| StrandID | The strand ID to assign. Use STRAND_ID_STATIC to specify the zone as static (non-transient). Values greater than zero are used to associate zones with a particular strand. |
INTEGER*4 FUNCTION TecUtilZoneSetStrandID( & Zone, & StrandID) INTEGER*4 Zone INTEGER*4 StrandID
Python Syntax:
Results = TecUtil.ZoneSetStrandID(Zone, StrandID)
Input:
Zone int
StrandID int
Output:
Results[0] ReturnVal SetValueReturnCode_e (defined in TecVals.py)
1.5.2-20070506