+ add new method BoundBox.isInside() git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5004 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
152 lines
5.2 KiB
XML
152 lines
5.2 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>Bound box class
|
|
A bounding box is an orthographic cube which is a way to describe outer boundaries.
|
|
You get a bounding box 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 boundig interference first
|
|
can save a lot of computing time!
|
|
|
|
Constructor:
|
|
App.BoundBox([Xmin,Ymin,Zmin,Xmax,Ymax,Zmax])
|
|
App.BoundBox(Tuple, Tuple)
|
|
App.BoundBox(Vector, Vector)
|
|
App.BoundBox(BoundBox)
|
|
</UserDocu>
|
|
</Documentation>
|
|
<Methode Name="add">
|
|
<Documentation>
|
|
<UserDocu>method add(BoundBox)
|
|
Add (enlarge) the given BoundBox</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isIntersection">
|
|
<Documentation>
|
|
<UserDocu>method isIntersection(Vector|BoundBox|Vector Base, Vector Dir)
|
|
Checks if the given object intersects with the BoundBox. That can be:
|
|
- A Vector (Point)
|
|
- Another BoundBox
|
|
- A line, specified by Base and Dir
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="enlarge">
|
|
<Documentation>
|
|
<UserDocu>method enlarge(Float)
|
|
Enlarge the BoundBox by the given value in each direction.
|
|
A negative value shrinks the box.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
|
|
<Methode Name="getIntersectionPoint">
|
|
<Documentation>
|
|
<UserDocu>method Vector getIntersectionPoint(Vector Base, Vector Dir, [float epsilon=0.0001])
|
|
Calculate the intersection point of a line with the BoundBox
|
|
The Base point must lie inside the bounding box, if not an
|
|
exception is thrown.
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="move">
|
|
<Documentation>
|
|
<UserDocu> method getIntersectionPoint(Vector)
|
|
Move the BoundBox by the given vector
|
|
</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isCutPlane">
|
|
<Documentation>
|
|
<UserDocu>method bool isCutPlane(Vector Base, Vector Normal)
|
|
Check if the plane specified by Base and Normal intersects (cuts) the BoundBox</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="isInside">
|
|
<Documentation>
|
|
<UserDocu>
|
|
method bool isInside(Vector Base|BoundBox box)
|
|
Check if the point or bounding box is inside this bounding box
|
|
</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 BoundBox in x direction</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="XLength" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="YLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Length of the BoundBox in y direction</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="YLength" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="ZLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Length of the BoundBox in z direction</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="ZLength" Type="Float" />
|
|
</Attribute>
|
|
<Attribute Name="DiagonalLength" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>Diagonal length of the BoundBox</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="DiagonalLength" Type="Float" />
|
|
</Attribute>
|
|
</PythonExport>
|
|
</GenerateModel>
|