KiCad PCB EDA Suite
Loading...
Searching...
No Matches
vrml2_transform.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright (C) 2015-2016 Cirilo Bernardo <
[email protected]
>
5
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6
*
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License
9
* as published by the Free Software Foundation; either version 2
10
* of the License, or (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <https://www.gnu.org/licenses/>.
19
*/
20
24
25
26
#ifndef VRML2_TRANSFORM_H
27
#define VRML2_TRANSFORM_H
28
29
#include "
vrml2_node.h
"
30
31
class
WRL2BASE
;
32
class
SGNODE
;
33
34
35
class
WRL2TRANSFORM
:
public
WRL2NODE
36
{
37
public
:
38
WRL2TRANSFORM
();
39
WRL2TRANSFORM
(
WRL2NODE
* aNode );
40
virtual
~WRL2TRANSFORM
();
41
42
bool
Read
(
WRLPROC
& proc,
WRL2BASE
* aTopNode )
override
;
43
bool
AddRefNode
(
WRL2NODE
* aNode )
override
;
44
SGNODE
*
TranslateToSG
(
SGNODE
* aParent )
override
;
45
46
bool
isDangling
(
void
)
override
;
47
48
// Returns true if this transform has a scale that differs significantly from 1.0
49
bool
HasNonUnityScale
()
const
;
50
51
private
:
52
bool
readChildren
(
WRLPROC
& proc,
WRL2BASE
* aTopNode );
53
54
WRLVEC3F
center
;
55
WRLVEC3F
scale
;
56
WRLVEC3F
translation
;
57
WRLROTATION
rotation
;
58
WRLROTATION
scaleOrientation
;
59
WRLVEC3F
bboxCenter
;
60
WRLVEC3F
bboxSize
;
61
};
62
63
#endif
// VRML2_TRANSFORM_H
SGNODE
The base class of all Scene Graph nodes.
Definition
sg_node.h:71
WRL2BASE
The top node of a VRML2 model.
Definition
vrml2_base.h:56
WRL2NODE::WRL2NODE
WRL2NODE()
Definition
vrml2_node.cpp:42
WRL2TRANSFORM::scaleOrientation
WRLROTATION scaleOrientation
Definition
vrml2_transform.h:58
WRL2TRANSFORM::translation
WRLVEC3F translation
Definition
vrml2_transform.h:56
WRL2TRANSFORM::WRL2TRANSFORM
WRL2TRANSFORM()
Definition
vrml2_transform.cpp:31
WRL2TRANSFORM::~WRL2TRANSFORM
virtual ~WRL2TRANSFORM()
Definition
vrml2_transform.cpp:47
WRL2TRANSFORM::HasNonUnityScale
bool HasNonUnityScale() const
Definition
vrml2_transform.cpp:277
WRL2TRANSFORM::readChildren
bool readChildren(WRLPROC &proc, WRL2BASE *aTopNode)
Definition
vrml2_transform.cpp:316
WRL2TRANSFORM::bboxCenter
WRLVEC3F bboxCenter
Definition
vrml2_transform.h:59
WRL2TRANSFORM::rotation
WRLROTATION rotation
Definition
vrml2_transform.h:57
WRL2TRANSFORM::center
WRLVEC3F center
Definition
vrml2_transform.h:54
WRL2TRANSFORM::TranslateToSG
SGNODE * TranslateToSG(SGNODE *aParent) override
Produce a representation of the data using the intermediate scenegraph structures of the kicad_3dsg l...
Definition
vrml2_transform.cpp:362
WRL2TRANSFORM::AddRefNode
bool AddRefNode(WRL2NODE *aNode) override
Definition
vrml2_transform.cpp:288
WRL2TRANSFORM::scale
WRLVEC3F scale
Definition
vrml2_transform.h:55
WRL2TRANSFORM::isDangling
bool isDangling(void) override
Determine whether an object should be moved to a different parent during the VRML to SG* translation.
Definition
vrml2_transform.cpp:56
WRL2TRANSFORM::bboxSize
WRLVEC3F bboxSize
Definition
vrml2_transform.h:60
WRL2TRANSFORM::Read
bool Read(WRLPROC &proc, WRL2BASE *aTopNode) override
Definition
vrml2_transform.cpp:63
WRLPROC
Definition
wrlproc.h:38
vrml2_node.h
WRLROTATION
glm::vec4 WRLROTATION
Definition
wrltypes.h:185
WRLVEC3F
glm::vec3 WRLVEC3F
Definition
wrltypes.h:184
src
plugins
3d
vrml
v2
vrml2_transform.h
Generated on Fri Jun 26 2026 00:05:42 for KiCad PCB EDA Suite by
1.13.2