private CoordPair[] GetPairs()
        {
            int n   = GrammarApi.sol_GetNodePairsCount(_hNode);
            var res = new CoordPair[n];

            for (int i = 0; i < n; ++i)
            {
                int coord = GrammarApi.sol_GetNodePairCoord(_hNode, i);
                int state = GrammarApi.sol_GetNodePairState(_hNode, i);
                res[i] = new CoordPair(coord, state,
                                       _gren.GetCoordName(coord),
                                       _gren.GetCoordStateName(coord, state));
            }

            return(res);
        }
        private CoordPair[] GetPairs()
        {
            int cnt = GrammarApi.sol_GetProjCoordCount(_engine.GetEngineHandle(), _hList, _idx);
            var res = new CoordPair[cnt];

            for (int i = 0; i < cnt; ++i)
            {
                int coordId = GrammarApi.sol_GetProjCoordId(_engine.GetEngineHandle(), _hList, _idx, i);
                int stateId = GrammarApi.sol_GetProjStateId(_engine.GetEngineHandle(), _hList, _idx, i);

                res[i] = new CoordPair(coordId, stateId,
                                       _engine.GetCoordName(coordId),
                                       _engine.GetCoordStateName(coordId, stateId));
            }

            return(res);
        }
 public bool ContainsPair(CoordPair p)
 {
     return(GrammarApi.sol_GetNodeCoordPair(_hNode, p.CoordId, p.StateId) == 1);
 }
 public bool VersionContains(int version_index, CoordPair p)
 {
     return(GrammarApi.sol_GetNodeVerCoordPair(_hNode, version_index, p.CoordId, p.StateId) == 1);
 }