Documentation: added support for multiple superclasses
authorAndrey Kamaev <no@email>
Tue, 29 May 2012 14:18:43 +0000 (14:18 +0000)
committerAndrey Kamaev <no@email>
Tue, 29 May 2012 14:18:43 +0000 (14:18 +0000)
doc/ocv.py
modules/stitching/doc/seam_estimation.rst

index 5666f1d..b67ee93 100644 (file)
@@ -704,9 +704,9 @@ class FuncDefExpr(NamedDefExpr):
 
 class ClassDefExpr(NamedDefExpr):
 
-    def __init__(self, name, visibility, static, parent = None):
+    def __init__(self, name, visibility, static, parents = None):
         NamedDefExpr.__init__(self, name, visibility, static)
-        self.parent = parent
+        self.parents = parents
 
     def get_id(self):
         return self.name.get_id()
@@ -1098,15 +1098,19 @@ class DefinitionParser(object):
         typename = self._parse_type()
         parent = None
         self.skip_ws()
+        parents = []
         if self.skip_string(':'):
-            self.skip_ws()
-            classname_pos = self.pos
-            pvisibility, pstatic = self._parse_visibility_static()
-            if pstatic:
-                self.fail('unsepected static keyword, got %r' %
-                      self.definition[self.classname_pos:])
-            parent = ClassDefExpr(self._parse_type(), pvisibility, pstatic)
-        return ClassDefExpr(typename, visibility, static, parent)
+            while not self.eof:
+                self.skip_ws()
+                classname_pos = self.pos
+                pvisibility, pstatic = self._parse_visibility_static()
+                if pstatic:
+                    self.fail('unsepected static keyword, got %r' %
+                          self.definition[self.classname_pos:])
+                parents.append(ClassDefExpr(self._parse_type(), pvisibility, pstatic))
+                if not self.skip_string(','):
+                    break
+        return ClassDefExpr(typename, visibility, static, parents)
 
     def read_rest(self):
         rv = self.definition[self.pos:]
@@ -1252,10 +1256,15 @@ class OCVClassObject(OCVObject):
         self.attach_modifiers(signode, cls)
         signode += addnodes.desc_annotation(self.__class__.object_annotation, self.__class__.object_annotation)
         self.attach_name(signode, cls.name)
-        if cls.parent:
-            signode += nodes.Text(' : ')
-            self.attach_modifiers(signode, cls.parent, None)
-            self.attach_name(signode, cls.parent.name)
+        first_parent = True
+        for p in cls.parents:
+            if first_parent:
+                signode += nodes.Text(' : ')
+                first_parent = False
+            else:
+                signode += nodes.Text(', ')
+            self.attach_modifiers(signode, p, None)
+            self.attach_name(signode, p.name)
 
 class OCVStructObject(OCVClassObject):
     object_annotation = "struct "
index 27657cf..f2b1240 100644 (file)
@@ -33,7 +33,7 @@ Estimates seams.
 
 detail::NoSeamFinder
 --------------------
-.. ocv:class:: detail::NoSeamFinder : public SeamFinder
+.. ocv:class:: detail::NoSeamFinder : public detail::SeamFinder
 
 Stub seam estimator which does nothing. ::
 
@@ -47,7 +47,7 @@ Stub seam estimator which does nothing. ::
 
 detail::PairwiseSeamFinder
 --------------------------
-.. ocv:class:: detail::PairwiseSeamFinder : public SeamFinder
+.. ocv:class:: detail::PairwiseSeamFinder : public detail::SeamFinder
 
 Base class for all pairwise seam estimators. ::
 
@@ -84,7 +84,7 @@ Resolves masks intersection of two specified images in the given ROI.
 
 detail::VoronoiSeamFinder
 -------------------------
-.. ocv:class:: detail::VoronoiSeamFinder : public PairwiseSeamFinder
+.. ocv:class:: detail::VoronoiSeamFinder : public detail::PairwiseSeamFinder
 
 Voronoi diagram-based seam estimator. ::
 
@@ -113,7 +113,7 @@ Base class for all minimum graph-cut-based seam estimators. ::
 
 detail::GraphCutSeamFinder
 --------------------------
-.. ocv:class:: detail::GraphCutSeamFinder : public GraphCutSeamFinderBase, public SeamFinder
+.. ocv:class:: detail::GraphCutSeamFinder : public detail::GraphCutSeamFinderBase, public detail::SeamFinder
 
 Minimum graph cut-based seam estimator. See details in [V03]_. ::