From dad75658f2c97c49aaf703837c2bbba10ae38810 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Tue, 29 May 2012 14:18:43 +0000 Subject: [PATCH] Documentation: added support for multiple superclasses --- doc/ocv.py | 37 ++++++++++++++--------- modules/stitching/doc/seam_estimation.rst | 8 ++--- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/doc/ocv.py b/doc/ocv.py index 5666f1d12..b67ee93fe 100644 --- a/doc/ocv.py +++ b/doc/ocv.py @@ -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 " diff --git a/modules/stitching/doc/seam_estimation.rst b/modules/stitching/doc/seam_estimation.rst index 27657cf1d..f2b12405a 100644 --- a/modules/stitching/doc/seam_estimation.rst +++ b/modules/stitching/doc/seam_estimation.rst @@ -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]_. ::