mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 15:53:03 +04:00
calib3d module in opencv is split into 3 modules: 3d, calib and stereo.
stereo module in opencv_contrib is renamed to xstereo
This commit is contained in:
@@ -116,6 +116,15 @@ def mkdir_p(path):
|
||||
else:
|
||||
raise
|
||||
|
||||
def make_jname(m):
|
||||
return "Cv"+m if (m[0] in "0123456789") else m
|
||||
|
||||
def make_jmodule(m):
|
||||
return "cv"+m if (m[0] in "0123456789") else m
|
||||
|
||||
def make_namespace(ci):
|
||||
return ('using namespace ' + ci.namespace.replace('.', '::') + ';') if ci.namespace and ci.namespace != 'cv' else ''
|
||||
|
||||
T_JAVA_START_INHERITED = read_contents(os.path.join(SCRIPT_DIR, 'templates/java_class_inherited.prolog'))
|
||||
T_JAVA_START_ORPHAN = read_contents(os.path.join(SCRIPT_DIR, 'templates/java_class.prolog'))
|
||||
T_JAVA_START_MODULE = read_contents(os.path.join(SCRIPT_DIR, 'templates/java_module.prolog'))
|
||||
@@ -270,6 +279,7 @@ class ClassInfo(GeneralInfo):
|
||||
self.name = '%s_%s' % (prefix, self.name)
|
||||
self.jname = '%s_%s' % (prefix, self.jname)
|
||||
|
||||
self.jname = make_jname(self.jname)
|
||||
self.base = ''
|
||||
if decl[1]:
|
||||
# FIXIT Use generator to find type properly instead of hacks below
|
||||
@@ -354,6 +364,7 @@ class ClassInfo(GeneralInfo):
|
||||
return Template(self.j_code.getvalue() + "\n\n" +
|
||||
self.jn_code.getvalue() + "\n}\n").substitute(
|
||||
module = m,
|
||||
jmodule = make_jmodule(m),
|
||||
name = self.name,
|
||||
jname = self.jname,
|
||||
imports = "\n".join(self.getAllImports(M)),
|
||||
@@ -414,6 +425,7 @@ class FuncInfo(GeneralInfo):
|
||||
else:
|
||||
self.jname = '%s_%s' % (prefix, self.jname)
|
||||
|
||||
self.jname = make_jname(self.jname)
|
||||
self.static = ["","static"][ "/S" in decl[2] ]
|
||||
self.ctype = re.sub(r"^CvTermCriteria", "TermCriteria", decl[1] or "")
|
||||
self.args = []
|
||||
@@ -611,7 +623,8 @@ class JavaWrapperGenerator(object):
|
||||
|
||||
logging.info("\n\n===== Generating... =====")
|
||||
moduleCppCode = StringIO()
|
||||
package_path = os.path.join(output_java_path, module)
|
||||
package_path = os.path.join(output_java_path, make_jmodule(module))
|
||||
#print("package path: %s\n" % package_path)
|
||||
mkdir_p(package_path)
|
||||
for ci in sorted(self.classes.values(), key=lambda x: x.symbol_id):
|
||||
if ci.name == "Mat":
|
||||
@@ -619,7 +632,7 @@ class JavaWrapperGenerator(object):
|
||||
ci.initCodeStreams(self.Module)
|
||||
self.gen_class(ci)
|
||||
classJavaCode = ci.generateJavaCode(self.module, self.Module)
|
||||
self.save("%s/%s/%s.java" % (output_java_path, module, ci.jname), classJavaCode)
|
||||
self.save("%s/%s.java" % (package_path, ci.jname), classJavaCode)
|
||||
moduleCppCode.write(ci.generateCppCode())
|
||||
ci.cleanupCodeStreams()
|
||||
cpp_file = os.path.abspath(os.path.join(output_jni_path, module + ".inl.hpp"))
|
||||
@@ -1040,13 +1053,13 @@ class JavaWrapperGenerator(object):
|
||||
clazz = ci.jname
|
||||
cpp_code.write ( Template(
|
||||
"""
|
||||
JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname ($argst);
|
||||
JNIEXPORT $rtype JNICALL Java_org_opencv_${jmodule}_${clazz}_$fname ($argst);
|
||||
|
||||
JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
|
||||
JNIEXPORT $rtype JNICALL Java_org_opencv_${jmodule}_${clazz}_$fname
|
||||
($args)
|
||||
{
|
||||
${namespace}
|
||||
static const char method_name[] = "$module::$fname()";
|
||||
static const char method_name[] = "$jmodule::$fname()";
|
||||
try {
|
||||
LOGD("%s", method_name);$prologue
|
||||
$retval$cvname($cvargs);$epilogue$ret
|
||||
@@ -1061,6 +1074,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
|
||||
""" ).substitute(
|
||||
rtype = rtype,
|
||||
module = self.module.replace('_', '_1'),
|
||||
jmodule = make_jmodule(self.module.replace('_', '_1')),
|
||||
clazz = clazz.replace('_', '_1'),
|
||||
fname = (fi.jname + '_' + str(suffix_counter)).replace('_', '_1'),
|
||||
args = ", ".join(["%s %s" % (type_dict[a.ctype].get("jni_type"), a.name) for a in jni_args]),
|
||||
@@ -1072,7 +1086,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
|
||||
cvargs = " " + ", ".join(cvargs) + " " if cvargs else "",
|
||||
default = "\n " + default if default else "",
|
||||
retval = retval,
|
||||
namespace = ('using namespace ' + ci.namespace.replace('.', '::') + ';') if ci.namespace and ci.namespace != 'cv' else ''
|
||||
namespace = make_namespace(ci)
|
||||
) )
|
||||
|
||||
# adding method signature to dictionary
|
||||
|
||||
Reference in New Issue
Block a user