|
[1 introduction] [2 overview] [3 reference] [4 GUI] IndexE3dScene_GetSingleSelection E3dScene_GetNodes E3dScene_GetSelectedNodes E3dScene_CollectTransformPoints E3dScene_WalkObjects E3dObject_CustomNew E3dSpline_GetTransforms E3dScene_GetSingleSelectionGet a single selection from the given SceneSyntax Arguments Description Parses the hierarchies in the given Scene and gets the first selected object. This can be anything from a Model, Geometry, PolyGroup, Polygon etc. to an Edge or a Vertex. If PFlags is 0, or E3dVISIBLE|E3dHIDDEN, both visible and hidden objects may be returned. If it's E3dVISIBLE, only visible ones will pass and vice versa. Return value The type of Item selected. E.g.: E3dItemPOLYGROUP E3dScene_GetNodesCollect selected Nodes in a SceneSyntax Arguments Description Parses the hierarchies in a Scene and collects all the Nodes into a dynamically allocated array of pointers. If PAddReferences is TRUE, the Nodes will be reference-tracked in the array, so they won't be physically deleted elsewhere. In this case you should call ELst_ObjectsFree() on the array (vs ELst_PointersFree), or E_Delete on individual entries in the array. This array has to be freed by the application after use. Example: LNumOfNodes = E3dScene_GetNodes(MyScene, &LNodes, FALSE); Where LNodes is the type of E3dNode** Example LNumOfNodes = E3dScene_GetNodes(MyScene, &LNodes, FALSE); Where LNodes is the type of E3dNode** Return value The number of E3dNode pointers in the array (the nuber of Nodes found). E3dScene_GetSelectedNodesCollect selected Nodes in a SceneSyntax Arguments Description Parses the hierarchies in a Scene and collects the selected Nodes into a dynamically allocated array of pointers. This array has to be freed by the application after use. If PAddReferences is TRUE, the Nodes will be reference-tracked in the array, so they won't be physically deleted elsewhere. In this case you should call EList_ObjectsFreeA_s() on the array (vs EList_PointersFreeA_s()), or E_Delete on individual entries in the array. Examples: E3dScene_GetSelectedNodes(MyScene, E3dNodeSelNODE, TRUE, &Global_NodeList); E3dScene_GetSelectedNodes(MyScene, E3dNodeSelNODE, FALSE, &LNodes); Where LNodes is the type of E3dNode** and LNumOfNodes is type EIndex. Example E3dScene_GetSelectedNodes(MyScene, E3dNodeSelNODE, TRUE, &Global_NodeList); E3dScene_GetSelectedNodes(MyScene, E3dNodeSelNODE, FALSE, &LNodes); Where LNodes is the type of E3dNode** and LNumOfNodes is type EIndex. Return value The number of E3dNode pointers in the array (the nuber of selected Nodes found). E3dScene_CollectTransformPointsCollect points of GeometriesSyntax Arguments Description Collects points from the Scene into a list of 'ShapeSnapshots' for shape transforming. ShapeSnapshots allow for modifying Mesh Vertices, Spline CVs etc. with undo/redo support. Return value Pointer to the E3dShapeSnapshot array, or NULL E3dScene_WalkObjectsWalk through the Objects of Models in a Scene and call a functionSyntax Arguments Description Walk through the Objects of Models in a Scene and calls LFunct. Return value None. E3dObject_CustomNewCreate an Object with a given type of ObjectComponentSyntax Arguments Description Creates a new Object and adds it to the Scene, depending on PAddMode: - E3dNEW_INSTANCE : add Object to POrigModel. - E3dNEW_MODEL : create new Model with Object. If PParent is NULL, add the new Model to the parent of POrigModel after POrigModel, otherwise add it to PParent as the last child. - E3dNEW_HRC : create new Model with Object and add to the Scene. If PParent is NULL and POrigModel is NULL, PAddMode will be forced to E3dNEW_HRC. If PParent is not NULL, but POrigModel is NULL, PAddMode will be forced to E3dNEW_MODEL. It's important to note that PInfoTemplate is a template, used to intitialize the actual ObjectComponent that will be added to the new E3dObject. It will not be added to the new E3dObject. Return value None. See also E3dSpline_GetTransformsGenerate transform matrices along a Spline, given a set of U parametersSyntax Arguments Description U values may be provided by the caller, to determine where the samples should be on the Spline. U = 0.0 and 1.0 correspond to the beginning and the end of the Spline. If PUs_Count is a positive integer and PUs is not NULL, the U values in PUs will be used. If PUs_Count is E3dSplineAT_CVs, the transforms will be computed at the CVs of the Spline. If PUs is NULL, the visual tesselation of the Spline (DrawSteps) is used. If PMatrices, PPositionsP, PTangentsP or PNormalsP is NULL, or PUs_Count is E3dSplineAT_CVs, sufficient storage will be allocated. In this case, it's the caller's responsibility to free such storage. Return value E_SUCCESS, if successful, or an error code, such as E_NO_MEMORY. |