Page Menu
Home
Search
Configure Global Search
Log In
Paste
P2848
c++ to c ??
Active
Public
Actions
Authored by
YimingWu (NicksBest)
on Mar 23 2022, 3:59 PM.
Edit Paste
Archive Paste
View Raw File
Subscribe
Mute Notifications
Award Token
Tags
None
Subscribers
None
//------------------------------------- lineart_cpp_bridge.c
#include
"MOD_lineart.h"
#include
"lineart_intern.h"
#include
"BLI_enumerable_thread_specific.hh"
#include
"BLI_task.h"
#include
"BLI_utildefines.h"
#include
"BLI_vector.hh"
using
blender
::
Vector
;
using
blender
::
threading
::
EnumerableThreadSpecific
;
typedef
EnumerableThreadSpecific
<
Vector
<
LineartOcclusionPair
>>
LineartThreadOcclusionData
;
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
()
{
LineartThreadOcclusionData
*
result
=
new
LineartThreadOcclusionData
;
return
result
;
};
void
lineart_thread_add_occlusion_pair
(
LineartThreadOcclusionData
*
data
,
LineartElementLinkNode
*
eln_edge
,
LineartElementLinkNode
*
eln_triangle
,
LineartEdge
*
e
,
LineartTriangle
*
t
)
{
LineartOcclusionPair
op
;
op
.
e
=
e
;
op
.
t
=
t
;
op
.
eln_edge
=
eln_edge
;
op
.
eln_triangle
=
eln_triangle
;
data
->
local
().
append
(
op
);
}
/* Memory returned by this needs to be freed manually. */
LineartOcclusionPair
*
lineart_thread_finalize_occlusion_result
(
LineartThreadOcclusionData
*
data
)
{
Vector
<
LineartOcclusionPair
>
*
result
=
new
Vector
<
LineartOcclusionPair
>
;
for
(
const
Vector
<
LineartOcclusionPair
>
&
local
:
(
*
data
))
{
result
->
extend
(
local
);
}
return
(
LineartOcclusionPair
*
)
result
->
data
();
};
//----------------------------------------
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_util
.
c
:
16
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
warning
:
useless
storage
class
specifier
in
empty
declaration
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
785
:
8
:
warning
:
function
declaration
isn
’
t
a
prototype
[
-
Wstrict
-
prototypes
]
785
|
struct
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
();
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
[
98
%
]
Built
target
cycles_integrator
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_ops
.
c
:
33
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
warning
:
useless
storage
class
specifier
in
empty
declaration
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
785
:
8
:
warning
:
function
declaration
isn
’
t
a
prototype
[
-
Wstrict
-
prototypes
]
785
|
struct
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
();
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
[
99
%
]
Built
target
cycles_device
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
MOD_gpencillineart
.
c
:
26
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
warning
:
useless
storage
class
specifier
in
empty
declaration
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
785
:
8
:
warning
:
function
declaration
isn
’
t
a
prototype
[
-
Wstrict
-
prototypes
]
785
|
struct
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
();
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
[
100
%
]
Built
target
bf_intern_cycles
[
100
%
]
Built
target
cycles_bvh
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_chain
.
c
:
12
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
warning
:
useless
storage
class
specifier
in
empty
declaration
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
785
:
8
:
warning
:
function
declaration
isn
’
t
a
prototype
[
-
Wstrict
-
prototypes
]
785
|
struct
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
();
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
2
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
1
:
warning
:
‘
typedef
’
was
ignored
in
this
declaration
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
14
:
64
:
error
:
conflicting
declaration
‘
typedef
class
blender
::
threading
::
EnumerableThreadSpecific
<
blender
::
Vector
<
LineartOcclusionPair
>
>
LineartThreadOcclusionData
’
14
|
typedef
EnumerableThreadSpecific
<
Vector
<
LineartOcclusionPair
>>
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
2
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
note
:
previous
declaration
as
‘
struct
LineartThreadOcclusionData
’
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
In
function
‘
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
()
’
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
18
:
44
:
error
:
invalid
use
of
incomplete
type
‘
struct
LineartThreadOcclusionData
’
18
|
LineartThreadOcclusionData
*
result
=
new
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
2
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
note
:
forward
declaration
of
‘
struct
LineartThreadOcclusionData
’
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
At
global
scope
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
22
:
6
:
warning
:
no
previous
declaration
for
‘
void
lineart_thread_add_occlusion_pair
(
LineartThreadOcclusionData
*
,
LineartElementLinkNode
*
,
LineartElementLinkNode
*
,
LineartEdge
*
,
LineartTriangle
*
)
’
[
-
Wmissing
-
declarations
]
22
|
void
lineart_thread_add_occlusion_pair
(
LineartThreadOcclusionData
*
data
,
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
In
function
‘
void
lineart_thread_add_occlusion_pair
(
LineartThreadOcclusionData
*
,
LineartElementLinkNode
*
,
LineartElementLinkNode
*
,
LineartEdge
*
,
LineartTriangle
*
)
’
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
33
:
7
:
error
:
invalid
use
of
incomplete
type
‘
struct
LineartThreadOcclusionData
’
33
|
data
->
local
().
append
(
op
);
|
^~
In
file
included
from
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
2
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
MOD_lineart
.
h
:
784
:
16
:
note
:
forward
declaration
of
‘
struct
LineartThreadOcclusionData
’
784
|
typedef
struct
LineartThreadOcclusionData
;
|
^~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
At
global
scope
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
37
:
23
:
warning
:
no
previous
declaration
for
‘
LineartOcclusionPair
*
lineart_thread_finalize_occlusion_result
(
LineartThreadOcclusionData
*
)
’
[
-
Wmissing
-
declarations
]
37
|
LineartOcclusionPair
*
lineart_thread_finalize_occlusion_result
(
LineartThreadOcclusionData
*
data
)
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
In
function
‘
LineartOcclusionPair
*
lineart_thread_finalize_occlusion_result
(
LineartThreadOcclusionData
*
)
’
:
/
home
/
yiming
/
Documents
/
Sources
/
BlenderMain
/
blender
/
source
/
blender
/
gpencil_modifiers
/
intern
/
lineart
/
lineart_cpp_bridge
.
cpp
:
40
:
58
:
error
:
range
-
based
‘
for
’
expression
of
type
‘
LineartThreadOcclusionData
’
has
incomplete
type
40
|
for
(
const
Vector
<
LineartOcclusionPair
>
&
local
:
(
*
data
))
{
//----------------------------------------
// in MOD_lineart.h, Added these below everything:
typedef
struct
LineartThreadOcclusionData
LineartThreadOcclusionData
;
LineartThreadOcclusionData
*
lineart_thread_init_occlusion_result
();
Event Timeline
YimingWu (NicksBest)
created this paste.
Mar 23 2022, 3:59 PM
YimingWu (NicksBest)
edited the content of this paste.
(Show Details)
Mar 23 2022, 4:05 PM
Log In to Comment