#ifndef CATIACameras_IDL
#define CATIACameras_IDL
/*IDLREP*/
/**
* @CAA2Level L1
* @CAA2Usage U3
*/
// COPYRIGHT DASSAULT SYSTEMES 1997
#include "CATIACollection.idl"
#include "CATVariant.idl"
interface CATIACamera;
/**
* A collection of all the Camera objects currently attached to a
* Document object.
* A camera can be created using the @href CATIAViewer#NewCamera method of
* the @href CATIAViewer object.
* The first seventh cameras of the collection are @href CATIACamera3D
* objects and cannot be modified or removed.
* They can just be retrieved and used "as is". They store the following
* viewpoints whose sight direction is always toward the 3D-axis system
* origin:
* <dl>
* <dt>* iso
* <dd>The origin is on a line with (1,1,1) as components with
* positive coordinates
* <dt>* front
* <dd>The origin is on the x axis with a positive x coordinate
* <dt>* back
* <dd>The origin is on the x axis with a negative x coordinate
* <dt>* left
* <dd>The origin is on the y axis with a positive y coordinate
* <dt>* right
* <dd>The origin is on the y axis with a negative y coordinate
* <dt>* top
* <dd>The origin is on the z axis with a positive z coordinate
* <dt>* bottom
* <dd>The origin is on the z axis with a negative z coordinate
* </dl>
* <p>The cameras of the Cameras collection are available using the
* dialog box displayed by clicking the View->Defined Views menu.
*/
interface CATIACameras : CATIACollection
{
/**
* Returns a camera using its index or its name from the Cameras collection.
* @param iIndex
* The index or the name of the camera to retrieve from
* the collection of cameras.
* As a numerics, this index is the rank of the camera
* in the collection.
* The index of the first camera in the collection is 1, and
* the index of the last camera is Count.
* As a string, it is the name you assigned to the camera using
* the @href CATIABase#Name property.
* @return The retrieved camera
* <dt><b>Example:</b>
* <dd>
* This example retrieves in <tt>ThisCamera</tt> the ninth camera,
* and in <tt>ThatCamera</tt> the camera named
* <tt>MyCamera</tt> in the camera collection of the active document.
* <pre>
* Dim ThisCamera As Camera
* Set ThisCamera = CATIA.ActiveDocument.Cameras.<font color="red">Item</font>(9)
* Dim ThatCamera As Camera
* Set ThatCamera = CATIA.ActiveDocument.Cameras.<font color="red">Item</font>("MyCamera")
* </pre>
*/
HRESULT Item(in CATVariant iIndex, out /*IDLRETVAL*/ CATIACamera oCamera);
/**
* Removes a camera from the Cameras collection.
* @param iIndex
* The index or the name of the camera to remove from
* the collection of cameras.
* As a numerics, this index is the rank of the camera
* in the collection.
* The index of the first camera in the collection is 1, and
* the index of the last camera is Count.
* As a string, it is the name you assigned to the camera using
* the @href CATIABase#Name property.
* You cannot remove the first seventh cameras in the collection.
* </dl>
* <dt><b>Example:</b>
* <dd>
* The following example removes the tenth camera and the camera named
* <tt>CameraToBeRemoved</tt> in the camera collection
* of the active document.
* <pre>
* CATIA.ActiveDocument.Cameras.<font color="red">Remove</font>(10)
* CATIA.ActiveDocument.Cameras.<font color="red">Remove</font>("CameraToBeRemoved")
* </pre>
*/
HRESULT Remove(in CATVariant iIndex);
};
// Interface Name : CATIACameras
#pragma ID CATIACameras "DCE:80ba682e-7c1b-0000-0280030ba6000000"
#pragma DUAL CATIACameras
// VB Object Name : Cameras
#pragma ID Cameras "DCE:80ba6836-fd20-0000-0280030ba6000000"
#pragma ALIAS CATIACameras Cameras
// Include of forward interfaces
//#include "CATIACamera.idl"
#endif