IAxiBase Interface
- GetCrossPosition
- SetCrossPosition
- GetCount
- GetKnotValue
- SetKnotValue
IAxiBase interface allows modification of array
of Base Knots and the current Cross-section position
(current z-axis position) in the object. Changing of a knot position will make
the object stretched or contracted.
Note that IAxiBase does not
allow deleting or inserting knots into the Axial Base. To insert a new knot into the
Base obtain IArray interface from IAxiBase and call its
InsertAt method.
(See also StripTopol programming sample).
Obtaining IArray managing Axial Base knots via
ISection->IAxiBase->IArray is a context-dependent
query. It means that between two steps ISection->IAxiBase and
IAxiBase->IArray there must not be any other queries from the ISection
interface.
See also
Patch Tutorial, MiniCAD Sample,
Interface List.
HRESULT GetCrossPosition(double *pz)
Parameters
-
pz
- [out] pointer to a double variable to hold the output.
- Return
Values
-
S_OK in case of success
DISP_E_PARAMNOTOPTIONAL - if pz is NULL.
-
Remarks
Returns current cross
position of the
object.
-
HRESULT SetCrossPosition(double z)
Parameters
z - [in] new cross position.
Return Values
-
- S_OK - in
case of success.
-
-
-
- DISP_E_PARAMNOTOPTIONAL - if z value is outside of the current z-range of the model.
-
- Remarks
-
- Use this function to set current cross
position, so that following parameters modifications will be made in cross plane at z position.
HRESULT GetCount(int *pnCount)
Parameters
pnCount - [out] pointer to the variable
which will receive number of axial knots in the object.
Return Values
S_OK in case of success.
Remarks
Call to determine number of knots in the base.
HRESULT GetKnotValue(int knot, double *pz)
Parameters
knot - [in] index of the knot to
retrieve.
pz - [out] pointer to the double variable, which will hold the returned knot
position.
Return Values
S_OK in case of success
TYPE_E_ELEMENTNOTFOUND - in case knot is
out of the valid range.
DISP_E_PARAMNOTOPTIONAL - pz is NULL.
- Remarks
- Call this method to obtain position of a
particular knot in the base.
-
HRESULT SetKnotValue(int knot, double z)
Parameters
knot - [in] index of the knot to set.
z - [in] new position of the knot
Return Values
S_OK in case of success
TYPE_E_ELEMENTNOTFOUND - in case knot is out range.
-
DI_E_INVALIDGEOMETRY - when new position is out of the valid
range. See remarks.
- Remarks
-
-
-
- Call this method to set position of a particular knot in the base. To be valid, z must be such
that resulting array is increasing and none of the knot values coincide with each other.
Between two calls for this method, which implemented by the same object (it was
obtained from the same ISection interface), there should be a call for
UpdateSurface
method of DG Kernel control or call for Update method of IModel interface.
|