Now all escaping required for the C++ code generation is done when the .cpp/.h files are generated. Previously, only newlines were escaped automatically. This was a) inconsistent and b) leaked c++ details into the xml data. In addition, the escaping is now done in one central place, harmonizing the three previous implementations. Pre-existing c++ escape sequences in the XML files have been replaced by their literal equivalent so that the resulting python doc sting remains unchanged.
328 lines
10 KiB
XML
328 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
|
|
<PythonExport
|
|
Father="PyObjectBase"
|
|
Name="BoundBoxPy"
|
|
Twin="BoundBox"
|
|
TwinPointer="BoundBox3d"
|
|
Include="Base/BoundBox.h"
|
|
FatherInclude="Base/PyObjectBase.h"
|
|
Namespace="Base"
|
|
Constructor="true"
|
|
Delete="true"
|
|
FatherNamespace="Base">
|
|
<Documentation>
|
|
<Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
|
|
<DeveloperDocu>This is the BoundBox export class</DeveloperDocu>
|
|
<UserDocu>Base.BoundBox class.
|
|
|
|
This class represents a bounding box.
|
|
A bounding box is a rectangular cuboid which is a way to describe outer
|
|
boundaries and is obtained from a lot of 3D types.
|
|
It is often used to check if a 3D entity lies in the range of another object.
|
|
Checking for bounding interference first can save a lot of computing time!
|
|
An invalid BoundBox is represented by inconsistent values at each direction:
|
|
The maximum float value of the system at the minimum coordinates, and the
|
|
opposite value at the maximum coordinates.
|
|
|
|
The following constructors are supported:
|
|
|
|
BoundBox()
|
|
Empty constructor. Returns an invalid BoundBox.
|
|
|
|
BoundBox(boundBox)
|
|
Copy constructor.
|
|
boundBox : Base.BoundBox
|
|
|
|
BoundBox(xMin, yMin=0, zMin=0, xMax=0, yMax=0, zMax=0)
|
|
Define from the minimum and maximum values at each direction.
|
|
xMin : float
|
|
Minimum value at x-coordinate.
|
|
yMin : float
|
|
Minimum value at y-coordinate.
|
|
zMin : float
|
|
Minimum value at z-coordinate.
|
|
xMax : float
|
|
Maximum value at x-coordinate.
|
|
yMax : float
|
|
Maximum value at y-coordinate.
|
|
zMax : float
|
|
Maximum value at z-coordinate.
|
|
|
|
App.BoundBox(min, max)
|
|
Define from two containers representing the minimum and maximum values of the
|
|
coordinates in each direction.
|
|
min : Base.Vector, tuple
|
|
Minimum values of the coordinates.
|
|
max : Base.Vector, tuple
|
|
Maximum values of the coordinates.</UserDocu>
|
|
</Documentation>
|
|
<Methode Name="setVoid">
|
|
<Documentation>
|
|
<UserDocu>setVoid() -> None
|
|
|
|
Invalidate the bounding box.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isValid">
|
|
<Documentation>
|
|
<UserDocu>isValid() -> bool
|
|
|
|
Checks if the bounding box is valid.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="add">
|
|
<Documentation>
|
|
<UserDocu>add(minMax) -> None
|
|
add(x, y, z) -> None
|
|
|
|
Increase the maximum values or decrease the minimum values of this BoundBox by
|
|
replacing the current values with the given values, so the bounding box can grow
|
|
but not shrink.
|
|
|
|
minMax : Base.Vector, tuple
|
|
Values to enlarge at each direction.
|
|
x : float
|
|
Value to enlarge at x-direction.
|
|
y : float
|
|
Value to enlarge at y-direction.
|
|
z : float
|
|
Value to enlarge at z-direction.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="getPoint">
|
|
<Documentation>
|
|
<UserDocu>getPoint(index) ->Base.Vector
|
|
|
|
Get the point of the given index.
|
|
The index must be in the range of [0, 7].
|
|
|
|
index : int</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="getEdge">
|
|
<Documentation>
|
|
<UserDocu>getEdge(index) -> tuple of Base.Vector
|
|
|
|
Get the edge points of the given index.
|
|
The index must be in the range of [0, 11].
|
|
|
|
index : int</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="closestPoint">
|
|
<Documentation>
|
|
<UserDocu>closestPoint(point) -> Base.Vector
|
|
closestPoint(x, y, z) -> Base.Vector
|
|
|
|
Get the closest point of the bounding box to the given point.
|
|
|
|
point : Base.Vector, tuple
|
|
Coordinates of the given point.
|
|
x : float
|
|
X-coordinate of the given point.
|
|
y : float
|
|
Y-coordinate of the given point.
|
|
z : float
|
|
Z-coordinate of the given point.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersect">
|
|
<Documentation>
|
|
<UserDocu>intersect(boundBox2) -> bool
|
|
intersect(base, dir) -> bool
|
|
|
|
Checks if the given object intersects with this bounding box. That can be
|
|
another bounding box or a line specified by base and direction.
|
|
|
|
boundBox2 : Base.BoundBox
|
|
base : Base.Vector, tuple
|
|
dir : Base.Vector, tuple</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="intersected">
|
|
<Documentation>
|
|
<UserDocu>intersected(boundBox2) -> Base.BoundBox
|
|
|
|
Returns the intersection of this and the given bounding box.
|
|
|
|
boundBox2 : Base.BoundBox</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="united">
|
|
<Documentation>
|
|
<UserDocu>united(boundBox2) -> Base.BoundBox
|
|
|
|
Returns the union of this and the given bounding box.
|
|
|
|
boundBox2 : Base.BoundBox</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="enlarge">
|
|
<Documentation>
|
|
<UserDocu>enlarge(variation) -> None
|
|
|
|
Decrease the minimum values and increase the maximum values by the given value.
|
|
A negative value shrinks the bounding box.
|
|
|
|
variation : float</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
|
|
<Methode Name="getIntersectionPoint">
|
|
<Documentation>
|
|
<UserDocu>getIntersectionPoint(base, dir, epsilon=0.0001) -> Base.Vector
|
|
|
|
Calculate the intersection point of a line with the bounding box.
|
|
The base point must lie inside the bounding box, if not an exception is thrown.
|
|
|
|
base : Base.Vector
|
|
Base point of the line.
|
|
dir : Base.Vector
|
|
Direction of the line.
|
|
epsilon : float
|
|
Bounding box size tolerance.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="move">
|
|
<Documentation>
|
|
<UserDocu>move(displacement) -> None
|
|
move(x, y, z) -> None
|
|
|
|
Move the bounding box by the given values.
|
|
|
|
displacement : Base.Vector, tuple
|
|
Displacement at each direction.
|
|
x : float
|
|
Displacement at x-direction.
|
|
y : float
|
|
Displacement at y-direction.
|
|
z : float
|
|
Displacement at z-direction.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="scale">
|
|
<Documentation>
|
|
<UserDocu>scale(factor) -> None
|
|
scale(x, y, z) -> None
|
|
|
|
Scale the bounding box by the given values.
|
|
|
|
factor : Base.Vector, tuple
|
|
Factor scale at each direction.
|
|
x : float
|
|
Scale at x-direction.
|
|
y : float
|
|
Scale at y-direction.
|
|
z : float
|
|
Scale at z-direction.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="transformed">
|
|
<Documentation>
|
|
<UserDocu>transformed(matrix) -> Base.BoundBox
|
|
|
|
Returns a new BoundBox containing the transformed rectangular cuboid
|
|
represented by this BoundBox.
|
|
|
|
matrix : Base.Matrix
|
|
Transformation matrix.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isCutPlane">
|
|
<Documentation>
|
|
<UserDocu>isCutPlane(base, normal) -> bool
|
|
|
|
Check if the plane specified by base and normal intersects (cuts) this bounding
|
|
box.
|
|
|
|
base : Base.Vector
|
|
normal : Base.Vector</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isInside">
|
|
<Documentation>
|
|
<UserDocu>isInside(object) -> bool
|
|
isInside(x, y, z) -> bool
|
|
|
|
Check if a point or a bounding box is inside this bounding box.
|
|
|
|
object : Base.Vector, Base.BoundBox
|
|
Object to check if it is inside this bounding box.
|
|
x : float
|
|
X-coordinate of the point to check.
|
|
y : float
|
|
Y-coordinate of the point to check.
|
|
z : float
|
|
Z-coordinate of the point to check.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Attribute Name="Center" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Center point of the bounding box.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="Center" Type="Object" />
|
|
</Attribute>
|
|
<Attribute Name="XMax" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>The maximum x boundary position.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="XMax" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="YMax" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>The maximum y boundary position.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="YMax" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="ZMax" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>The maximum z boundary position.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="ZMax" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="XMin" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>The minimum x boundary position.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="XMin" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="YMin" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>The minimum y boundary position.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="YMin" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="ZMin" ReadOnly="false">
|
|
<Documentation>
|
|
<UserDocu>The minimum z boundary position.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="ZMin" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="XLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Length of the bounding box in x direction.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="XLength" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="YLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Length of the bounding box in y direction.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="YLength" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="ZLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Length of the bounding box in z direction.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="ZLength" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="DiagonalLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Diagonal length of the bounding box.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="DiagonalLength" Type="Float" />
|
|
</Attribute>
|
|
</PythonExport>
|
|
</GenerateModel>
|